我在android上解析一个json元素数组。以下行生成以下异常。我在一些验证页面上验证了json文件,一切看起来都是正确的。 怎么了?
JSONObject object = new JSONObject(content);
例外:
org.json.JSONException: Unterminated array at character 21 of {
"info":[
{
"category":"Cocktail",
"text":"Long Island Ice Tea",
"info":"nur am 19. Juni",
"imageUrl":"http://www.google.at/google.png",
"thumbnailUrl":"http://www.google.at/google.png"
},
{
"category":"Grill-Wochen",
"text":"Steak vom Grill 350g",
"info":"AB 16.09.2012",
"imageUrl":"http://www.example.com/example.jpg",
"thumbnailUrl":"http://www.example.com/example_thumb.jpg"
}
]
}
答案 0 :(得分:2)
我使用了JSON parser online并检查了你的字符串。它确实有语法错误。
分析JSON.org处的JSON语法,我们可以验证每个对象必须以曲线括号(“{”)开头和结束。 “信息”是一个对象 - 所以应该如此说明。 我将您的代码更改为
{ "info":[
{
"category":"Cocktail",
"text":"Long Island Ice Tea",
"info":"nur am 19 Juni",
"imageUrl":"http://www.google.at/google.png",
"thumbnailUrl":"http://www.google.at/google.png"
},
{
"category":"Grill-Wochen",
"text":"Steak vom Grill 350g",
"info":"AB 16.09.2012",
"imageUrl":"http://www.example.com/example.jpg",
"thumbnailUrl":"http://www.example.com/example_thumb.jpg"
}
]
}
并且解析器很满意。
我希望它有所帮助
答案 1 :(得分:0)
我解决了这个问题。我检查了文件是否存在编码问题。从带有输入流的apache服务器下载文件后,它包含一些损坏的字符。