>

JSON 데이터를 서버로 보내고 안드로이드에서 응답을 읽고 싶습니다. 아래는 Json 데이터입니다.

{
    "class": "OrderItemListDto",
    "orderItemList": [
        {
            "class": "OrderItemDto",
            "orderId": 24,
            "itemId": 1,
            "quantity": 2,
            "status": "NEW",
            "sRequest": "none"
        },
        {
            "class": "OrderItemDto",
            "orderId": 24,
            "itemId": 2,
            "quantity": 2,
            "status": "NEW",
            "sRequest": "none"
        }
    ]
}

여기에서 데이터가 증가 할 수 있습니다.


  • 답변 # 1

    이 코드를 확인하십시오

    JSONArray json = //your array;
    HttpClient httpClient = new DefaultHttpClient();
    HttpContext httpContext = new BasicHttpContext();
    HttpPost httpPost = new HttpPost("http://your_url");
    try {
        StringEntity se = new StringEntity(json.toString());
        httpPost.setEntity(se);
        httpPost.setHeader("Accept", "application/json");
        httpPost.setHeader("Content-type", "application/json");
    
        HttpResponse response = httpClient.execute(httpPost, httpContext); //execute your request and parse response
        HttpEntity entity = response.getEntity();
        String jsonString = EntityUtils.toString(entity); //if response in JSON format
    } catch (Exception e) {
        e.printStackTrace();
    }
    
    

  • 답변 # 2

    Android에는 HTTP를 보내고받는 데 필요한 특수 코드가 없으므로 표준 Java 코드를 사용할 수 있습니다. Android와 함께 제공되는 Apache HTTP 클라이언트를 사용하는 것이 좋습니다. 다음은 HTTP POST를 보내는 데 사용 된 코드입니다.

    try {   int TIMEOUT_MILLISEC = 10000;  // = 10 seconds
            HttpParams httpParams = new BasicHttpParams();
            HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC);
            HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
            HttpClient client =new DefaultHttpClient(httpParams);   
            HttpPost request =new HttpPost("");
            request.setEntity(new ByteArrayEntity(postMessage.toString().getBytes("UTF8")));
            HttpResponse response = client.execute(request);
            }catch (Exception e) {        
            }
    
    

  • 답변 # 3

    WebClient 클래스를 사용하여 Json을 문자열 형식으로 서버에 보낼 수도 있습니다.

    WebClient webClient; 
            //show progress dialog
            Uri uriImageUploadURL = new Uri ( "ServerStringUploadUri" );
            webClient = webClient ?? new WebClient ();
            webClient.Headers.Add ( "Content-Type" , "text/json" );
            webClient.UploadStringAsync ( uriImageUploadURL , "POST" , "JsonStringToUpload" );
            webClient.UploadStringCompleted += StringUploadCompleted;
    
    

  • 이전 audio - JLayer를 사용할 때 Java에서 볼륨 변경
  • 다음 java.util.scanner - Java에서 쉼표로 구분 된 정수 입력을 읽는 방법