我有被读取并存储在String
称为jsonString
这个JSON文件,它看起来像这样:解析JSON字符串
{
"position":1,
"team_id":10260,
"home":
{
"played":18,
},
},
{
"position":2,
"team_id":8456,
"home":
{
"played":12,
},
},
代码解析:
JSONObject obj = new JSONObject(jsonString);
Iterator it = obj.keys();
while(it.hasNext()){
String s = it.next().toString();
System.out.print(s + " " + obj.getString(s) + " ");
}
输出是:position 1 home {"played":18} team_id 10260
所以它不读取文件的其余部分。你能告诉我有什么问题吗?而且,为什么home {"played":18}
在team_id 10260
之前打印?
那么我怎样才能移动到下一个'JSON'对象呢? – Sam
您应该确保输入遵循'JSON'标准格式。如何做到这一点取决于你在哪里获得你的indata。它看起来像你所拥有的是一个数组,在这种情况下,你需要在数据的末尾添加一个'['到开始和']'。 – Keppil
它实际上有'[]',但引发了一个异常:'Syntax error,insert“}”来完成Block',所以我删除了它们。我想我明白了。谢谢。 – Sam