+1  A: 

Appending key/value data to URLs after a '?' is GET not POST.

This is how to POST data in Java:

String urlText = "http://www.myserver.com/myservice.php";
String postContent = "location_data=[{\"key1\":\"val1\",\"key2\":\"val2\"}]";
try {
  HttpURLConnection c = (HttpURLConnection) new URL(urlText).openConnection();
  c.setDoOutput(true);
  OutputStreamWriter writer = new OutputStreamWriter(c.getOutputStream(), "UTF-8");
  writer.write(postContent);
  writer.close();
} catch (IOException e) {
  e.printStackTrace();
} 
Jim Blackler
Thanks for the info Jim! Just to make it clear, if the code you wrote for me is POST, then will it still format it with the '?' like I need?Also, how do i retrieve and store the server response using your method?Thanks again
Sam
The '?' notation means GET, so you don't need this. I've never seen JSON sent to a server in this way, although it would be possible. The server response will come back on the connection as c.getInputStream()
Jim Blackler