HttpClientはJsonの要求を送りましたが、結果はJsonに戻ります.

2374 ワード

public static JSONObject post(String url,JSONObject json){
		HttpClient client = new DefaultHttpClient();
		HttpPost post = new HttpPost(url);
		JSONObject response = null;
		try {
			StringEntity s = new StringEntity(json.toString());
			s.setContentEncoding("UTF-8");
			s.setContentType("application/json");
			post.setEntity(s);
			
			HttpResponse res = client.execute(post);
			if(res.getStatusLine().getStatusCode() == HttpStatus.OK.value()){
				HttpEntity entity = res.getEntity();
				String charset = EntityUtils.getContentCharSet(entity);
				response = new JSONObject(new JSONTokener(new InputStreamReader(entity.getContent(),charset)));
			}
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
		return response;
	}
もしあなたの内容が関係がないなら、全部ojb.putです. value;ネスト関係があるなら、それは subObj=new JSONObject();Obj.put(key、 subObj)行列が必要なら、JSONArrayを使います. オブジェクト必要なのは、{header:}{code}です. -100, 「メッセージ」: {title”: 「」、 「detail」: """}、body:{datastres:}、parameters:{"args": [メンuujwuuxspjux] ">>",","," 「レスポンスParam」: 「tooltip」}この中には入れ子の関係があります.まずフォーマットしてから、入れ子の関係が分かります.
JavaScript code
?
1
2
3
4
5
6
7
8
9
10
11{    header : {        "code"  : -100, "message"  : {            "title"  """detail"  ""        }    }, body : {        dataStores : {}, parameters : {            "args"  : [ "menu_jw_pj_xspj_x"">>"  ], "responseParam"  "tooltip"        }    }};注意大かっこは配列を表します.
前の例で:
JSONObject OB = new JSONObject();
JSONObject ObjHead = new JSONObject();
Obj.put(「head」、 ObjHead
objHead.put(「code」) -100)
JSONObject ObjMsg = new JSONObject();
ObjHead.put(「message」、 objMsg);
ObjMsg.put(「title」、 「」
ObjMsg.put(「detail」、 「」