2014-01-06 40 views
-3

在我的Android應用程序,我得到了來自其他設備像這樣的字符串:字符串轉換成JSON在Android的

String json = "[{'name', '11', '-0.5'}, {'name2', '-12', '0.5'}]";

我想這個字符串轉換爲類似的ArrayList或者JSONObject的或JsonArray與合作我的應用程序

我嘗試了這些方法,但他們都丟給我一個異常

JSONArray jsonObj = new JSONArray(my_json_string);

OR

JSONObject jsonObj = new JSONObject(jsonString);

我如何轉換字符串到ArrayList的或JSONObject的合作?

+5

它不是一個有效的JSON 。 Json始終包含一對鍵/值。在你的示例中,只有鍵或值 – Blackbelt

+1

'拋出一個Exception' - 然後** READ **那個帶有基本理解的異常消息可能是? –

回答

0

異常很可能是因爲您的JSON是無效的:

這裏是什麼東西應該工作:

{"data": [{"who": "name", "age": "11", "diff":"-0.5"}, 
    {"who": "name2", "age": "12", "diff":"-1.5"}]} 

試驗不同的格式,你可以使用:http://json.parser.online.fr/

0

這是一個JSONObjects JsonArray,因此代碼:

ArrayList<Model> list = new ArrayList<Model>(); 
JSONArray jsonObj = new JSONArray(my_json_string); 
Model model; 
JSONObject element; 
for(int i = 0, len = jsonObj.length(); i < len; i++) { 
    element = jsonObj.getJsonObject(i); 
    model = new Model(); 
    model.setName(element.getString("name")); 
    //..similarly set other properties 
    list.add(model); 
} 

現在你有複合模型的列表,Model.java是屬性的獨立數據類。

+0

thanks.i試試。但是'JSONArray jsonObj = new JSONArray(my_json_string);'這行引發了一個異常 –

+0

將它加入try/catch – himanshurb

0

這不是有效的JSON格式。請參閱此page以查看正確的JSON如何。

您也可以使用此page來驗證您的JSON數據。