解析json数据Android时出错

时间:2013-10-14 17:41:39

标签: java android json

我遇到Android Json问题。我的代码如下:

//Parse json data
try{
 String s = "";
 JSONArray jArray = new JSONArray(result);
 for(int i=0; i<jArray.length();i++){
 JSONObject json = jArray.getJSONObject(i);
 s = json.getString("codeqr");
}

结果:

[{"codeqr": "name"}, {"codeqr": "name"}]

我想得到结果:姓名,在代码中说出我的问题是什么?

编辑:

抱歉我的英文。我需要删除'['和'{'我的结果。

例如:

名,NAME2 NAME3

全部谢谢!

2 个答案:

答案 0 :(得分:2)

每次循环都会覆盖s的值。如果您希望它包含JSON字符串中的所有值,则需要附加到它。

for(int i=0; i<jArray.length(); i++){
    JSONObject json = jArray.getJSONObject(i);
    if (i > 0) {
       s = s + ",";
    }
    s = s + json.getString("codeqr");
}

答案 1 :(得分:0)

我不认为问题是不平衡的大括号,如果用户打算在字符串中显示带有'codeqr'键的所有元素,上面的答案似乎是正确的。

我也更喜欢使用StringBuilder(如果你需要一个线程安全的对象,请使用StringBuffer),因为当你的json数据大于两个元素(100-200)时,StringBuilder会更高效。