我遇到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
全部谢谢!
答案 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会更高效。