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」、 「」