建設JSON當我想這個字符串爲POST
請求編碼對象。誰能告訴我怎麼可以編碼如何嵌套的JSONObject
到目前爲止,我有
JSONOjbect obj = new JSONObject();
obj.put("jsonrpc", "2.0");
obj.put("method", "Files.GetSources");
但我不知道如何把在其餘的 - 誰能幫助?
建設JSON當我想這個字符串爲POST
請求編碼對象。誰能告訴我怎麼可以編碼如何嵌套的JSONObject
到目前爲止,我有
JSONOjbect obj = new JSONObject();
obj.put("jsonrpc", "2.0");
obj.put("method", "Files.GetSources");
但我不知道如何把在其餘的 - 誰能幫助?
如果你問你如何把嵌套params
對象在那裏,你可能會做的事:
JSONObject params = new JSONObject();
params.put("media", "music");
obj.put("params", params);
要使用(每下面您的意見)的數組,你」 d做類似這樣的事情:
JSONArray properties = new JSONArray();
properties.put("resume");
properties.put("genre");
properties.put("studio");
...
JSONObject params = new JSONObject();
params.put("properties", properties);
obj.put("params", params);
謝謝!這工作!對不起,模糊不清,你能嵌套多個嗎?例如..對於這樣的一個.. {「jsonrpc」:「2.0」,「method」:「VideoLibrary.GetMovies」,「params」:{「properties」:[「resume」,「genre」,「工作室」, 「標語」, 「運行」, 「同人畫」, 「縮略圖」, 「文件」, 「暗算」, 「plotoutline」, 「年」, 「lastplayed」, 「等級」]}, 「ID」:1 } – 2012-02-10 16:38:01
是的,你可以嵌套的事情就如你所願(使用這個答案同樣的原則)。爲了您的'properties',你會改爲使用['JSONArray'(http://developer.android.com/reference/org/json/JSONArray.html)JSONObject'的'。 – 2012-02-10 16:38:38
我已經用示例更新了我的答案。 – 2012-02-10 16:43:11
你有兩種選擇。您可以創建包含"media":"music"
,然後把在原來JSONObject
或者您可以將此整個字符串只是傳遞到JSONObject
構造函數,並將它解析爲你的另一個對象。
JSONOjbect obj = new JSONObject().put("jsonrpc", "2.0")
.put("method", "Files.GetSources").put("id", 1)
.put("params", new JSONObject.put("media", "music"));
像這樣的鏈接.put()是可能的,因爲put()返回它被調用的對象 - 爲了確切的目的。
缺少括號:'JSONOjbect obj = new JSONObject()。put(「jsonrpc」,「2.0」) .put(「method」,「Files.GetSources」)。put(「id」,1) 。 put(「params」,new JSONObject()。put(「media」,「music」));' – Andrea 2016-11-30 19:01:25
好吧,如果你有前手串,你可以簡單地做
JSONObject object = JSONObject.getJSONObject("{\"jsonrpc\": \"2.0\", \"method\": \"Files.GetSources\", \"params\":{\"media\":\"music\"}, \"id\": 1}");
你將必須_a lot_更具體的,如果你希望任何有用的回覆。 – 2012-02-10 16:28:37