2011-09-28 84 views
0

我需要向服務器發送一個請求。 我需要發送的格式是:{「userId」:,「array」:(「A,」b「,」c「,...)}Android發送帶有json數組的JsonObject

我可以發送jsonobject,但我不知道如何發送JsonObejct和Jsonarray一起在一個請求。

+0

那麼,什麼是你的問題?您是否無法使用JSONObject和JSONArray創建JSON字符串。 –

+0

是的Lalit ..我想以上述格式發送數據。但無法做到這一點 –

回答

0

這裏是一個不錯的JSON Encoding Tutorial指這一點。

+0

不錯的Lalit ..很不錯的鏈接..謝謝 –

3

它是那麼容易我是怎麼想的?

JSONObject json = new JSONObject(); 
JSONArray array = new JSONArray(); 

for (String string : new String [] {"A", "b", "c", ...}) { 
    array.put(string); 
} 

json.put("userId", theId); 
json.put("array", array); 
sendYourRequest(json); 

// This is wrong! Code corrected. Thank you for the Feedback!!! 
// json.put("array", new String [] {"A", "b", "c", ...}); 
+0

它不起作用 –

+2

這是一個很棒的評論... ;-)你應該提供你的代碼。告訴我們你想做什麼。告訴我們什麼是不工作的。你是面前的問題和代碼,我們很好,但我們無法讀懂你的想法;-) – Knickedi

+0

這是行不通的。它失敗,因爲它不會生成有效的json數組。在我的調試器中,我看到「數組」:「[Ljava.lang.String; @ 40551ce8」 –

1

您需要創建一個JSONObject和JSONArrayObject。在你的json數組中添加你想要的所有項目,然後添加json數組放入JsonObject中。請看下圖:

JSONArray array = new JSONArray(); 
array.put("1st array item"); 
array.put("2nd array item"); 

JSONObject holder = new JSONObject();  
holder.put("array", array); 
holder.put("other_params", ...); 

那麼你也可以驗證JSON看起來做有效的下列內容:

String jsonString = holder.toString(); //verify that the json is in the correct format