【发布时间】:2021-11-01 02:35:46
【问题描述】:
我正在尝试进行 JSON 解析。 JSON数据如下所示,我正在尝试获取“类别”。我能够 JSON 解析其他所有内容,但我不确定这个“类别”属于什么,它是 JSONObject、JSONArray 还是其他什么?我是一个自学成才的新手,通常我熟悉JSONArray的形式为“JSONArray”:{[“content”]},“content”是JSONObject。但在这种情况下,“类别”:[“内容”]。我正在尝试解析这个“类别”,并将其转换为字符串。感谢您的帮助。
{
"results": [
{
"type": "Restaurant",
"id": "jfhuiewjkfkdljiahueijkfnlsdiejkl1484391hjk8421k",
"score": 99.9844207764,
"dist": 15.581982823437135,
"info": "search:ta:840369014527642-US",
"poi": {
"name": "RoofTop Bar",
"categorySet": [
{
"id": 184729472943
}
],
"categories": [
"pub food",
"restaurant"
]}
}]
}
这是我尝试过的:
groups = new JSONArray();
groups = response.getJSONArray("results");
if (groups.length() > 0) {
JSONObject resultObject = groups.getJSONObject(0);
if (resultObject.has("poi")) {
if (resultObject.getJSONObject("poi").has("name")) {
nameResult = resultObject.getJSONObject("poi").getString("name");
} else {
nameResult = "Information is not available.";
}
if (resultObject.getJSONObject("poi").has("categories")) {
JSONObject categoriesResult;
categoriesResult = resultObject.getJSONObject("categories").toString();
}
【问题讨论】:
-
此 json 无效.. "poi" 对象未关闭。
-
我刚刚编辑了,现在应该已经完成了。
-
尝试类似jsonlint.com 以确保您的 JSON 有效。它仍然失败。 Notepad++ 还有一个不错的插件“JSON Viewer”,它有一个“Format JSON”可以验证它。
-
嗨,JSON 应该是有效的,我能够获取其他信息的信息,例如名称。但我只是不熟悉“类别”的格式。
-
@Brian McCanaugh - 使用复杂的 if/else 块......当您未能正确 INDENT 时,您可能会无意中导致很多 LOGIC 错误。只是说...
标签: java android arrays json parsing