在尝试格式化JSONArray时遇到一些问题,它必须像这样出现:
String[] titles = {"commentator name 1", "commentator name 2", "commentator name 3"};
这是我的JSON:
"commentator": [
"commentator name 1",
"commentator name 2",
"commentator name 3"
]
这是我的代码:
// getting JSON string from URL
JSONObject json = userFunction.getAudios();
List<String> list = new ArrayList<String>();
try {
commentator = json.getJSONArray(TAG_COMENTATOR);
Log.d("COMMENTATOR", commentator.toString());
//System.out.println("*****COMMENTATOR*****" + commentator.length());
if(commentator != null){
for (int i = 0; i < commentator.length(); i++) {
Log.d("FOR LOOP", "Value: " + commentator.getString(i));
list.add( commentator.getString(i) );
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String[] titles = list.toArray(new String[list.size()]);
但是这个代码我得到一个索引越界错误,我猜它没有很好的格式,任何想法?提前致谢
答案 0 :(得分:0)
试试这个
JSONArray jsonArr=new JSONArray(resultString);
JSONArray jsonArr2=jsonArr.getJSONArray(0);
for(int i = 0; i < jsonArr2.length(); i++)
{
list.add(jsonArr2.getString(i).);
}
resultString
是json字符串..
它迭代到所有json数组并将其添加到String
答案 1 :(得分:0)
Jour json无效,Json中的evrything必须是一个对象或一个数组,你只能从一个键开始。
试试这个
{
"commentator":
[
"commentator name 1",
"commentator name 2",
"commentator name 3"
]
}
您可以随时在这里查看json:http://jsonformatter.curiousconcept.com/