2013-03-25 2 views
0

У меня есть требование андроида разбора json-контента из URL-адреса и завершено, теперь мне нужно отправить результаты в виде содержимого json обратно на URL-адрес сервера. Поиск многих предыдущих сообщений, но большинство из них определяет, как загрузить и проанализировать содержимое json. Любые входы/примеры того, как начать публикацию содержимого в URL-адресе json, будут иметь огромную помощь!Записать json-контент в url android

Edit: Ниже приведен пример кода прилагается того, что я пытаюсь

try { 

     URL url = new URL("http://localhost:8080/RESTfulExample/json/product/post"); 
     HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
     conn.setDoOutput(true); 
     conn.setRequestMethod("POST"); 
     conn.setRequestProperty("Content-Type", "application/json"); 

     String input = "{\"qty\":100,\"name\":\"iPad 4\"}"; 

     OutputStream os = conn.getOutputStream(); 
     os.write(input.getBytes()); 
     os.flush(); 

     if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) { 
      throw new RuntimeException("Failed : HTTP error code : " 
        + conn.getResponseCode()); 
     } 

     BufferedReader br = new BufferedReader(new InputStreamReader(
       (conn.getInputStream()))); 

     String output; 
     System.out.println("Output from Server .... \n"); 
     while ((output = br.readLine()) != null) { 
      System.out.println(output); 
     } 

     conn.disconnect(); 

    } catch (MalformedURLException e) { 

     e.printStackTrace(); 

    } catch (IOException e) { 

     e.printStackTrace(); 

    } 

Исполняя это, получая соединение отказался, java.net.connect исключение! Пожалуйста помоги!!

+0

Вам следует подумать о том, чтобы добавить пример URL-адреса _should look_. –

+0

Добавлен образец, пожалуйста, добавьте ур взгляды! – bharath

+0

Я ожидаю, что у вас есть фактический адрес URL-адреса, где вы ставите localhost? Вы пытались, если веб-служба должным образом отвечает на этот адрес? (Например, используя cURL? Например: curl -d "param1 = value1 & param2 = value2" http: // yourURLhere: 8080 /? Otherparam = othervalue') – Patrick

ответ

1

Вы можете использовать метод, указанный ниже, для отправки вашего запроса JSON.

public static HttpResponse sendRequest(String url, String request) throws Exception 
{ 
    //Create the httpclient to make request 
    DefaultHttpClient httpclient = new DefaultHttpClient(); 

    //create an HttpPost request object 
    HttpPost httpost = new HttpPost(url); 

    //Create the String entity to be passed to the HttpPost request 
    StringEntity se = new StringEntity(request)); 

    //set the created StringEntity 
    httpost.setEntity(se); 

    //the intended 
    httpost.setHeader("Accept", "application/json"); 
    httpost.setHeader("Content-type", "application/json"); 

    return httpclient.execute(httpost); 
} 

Надеюсь, это поможет.

+0

Запрос строки - это ваша строка json? – Dyna