如何处理android中没有名字的JSON

时间:2011-11-15 08:41:37

标签: android json

我正在从Web服务中检索以下JSON:

 ["test_w","\u062a\u0637\u0628\u064a\u0642 \u0631\u0642\u0645 3","\u062a\u0637\u0628
 \u064a \u0642 \u0631\u0642\u0645 2","\u062a\u0637\u0628\u064a\u0642 \u0631\u0642\u0645 
 1","test_333","\u0645\u0639\u0631\u0641\u0629 \u0627\u0644\u062a\u0627\u0621 \u0627\u0644
 \u0645\u0631\u0628\u0648\u0637\u0629 \u0648\u062a\u0646\u0648\u064a\u0646 \u0627\u0644
  \u0636\u0645","\u0639\u0644\u0648\u0645","\u0648\u0631\u0642\u0629 \u0639\u0645\u0644"]

正如您所看到的,它不是名称,价值格式;我尝试访问JsonObject本身,但它总是返回null:

JSONArray jArray = new JSONArray(resultLine);
        for (int i = 0; i < jArray.length(); i++) {                     
            JSONObject json_data = jArray.getJSONObject(i);

            notifArray.add(json_data.toString());

有没有办法处理这种特殊的JSON格式?

2 个答案:

答案 0 :(得分:2)

你有一个字符串数组。因此,您必须使用getString(或optString)来访问数组元素:

JSONArray jArray = new JSONArray(resultLine);
for (int i = 0; i < jArray.length(); i++) {                     
    String str = jArray.getString(i);
    notifArray.add(str);
}

答案 1 :(得分:0)

JSONArray jArray = new JSONArray(resultLine);
        for (int i = 0; i < jArray.length(); i++) {                     
            notifArray.add(jArray.get(i));
        }