java - 解析json并获取内部对象

标签 java android json parsing

我需要在 android 上解析 json,例如:

{"header": {
        "param": "param"
    },
    "body": {
        "param": "1",
        "param2": "2",
        "param3": [
            {
                "param4": "4",
                "param5": "5"
            },
            {
                "param6": "6"
            }
        ],
        "param7": "7",
        "param12": [
            {
                "param8": "8",
                "param13": [
                    {
                        "param9": "9"
                    },
                    {
                        "param10": "10"
                    }
                ]
            }
        ],
        "param11": "11"
    }
}

我的代码是:

org.json.simple.JSONObject LJsonObj = (org.json.simple.JSONObject) new JSONParser().parse(AString);
try {
    JSONArray LBody = (JSONArray) LJsonObj.get("body");
    result = LBody.toString();
    LStrTemp = result;
} catch (Exception e) {
    e.printStackTrace();
} finally {
    LJsonObj.clear();
}

return result;

它现在坏了或根本不起作用:

JSONArray LBody = (JSONArray) LJsonObj.get ("body"); 

如何解析body标签?

错误在哪里,请告诉我?

按照这个原理解析String、Integer等类型是没有问题的。而使用 json 则有更复杂的问题

最佳答案

如果没有看到错误日志,很难准确地说,但我认为这与当“body”是对象时您使用 JSONArray 的事实有关。尝试使用 JSONObject 代替。

关于java - 解析json并获取内部对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59967535/

相关文章:

java - 在 GitHub 页面上嵌入 Java Applet

android - 使用 Node.JS 向 Firebase 发出 HTTPS 请求

java - 在 Android Studio 中使用 Web Api 检索 Json 数据

.net - ServiceStack.Text 在反序列化可为 null 的 bool 值时出现奇怪的行为

java - 链接异常是否有效

java - 在 if/else 条件中调用方法是不好的做法吗?

java - 为什么我不能在 Java 中使用 SimpleDateFormat 获得正确的年份?

android - 如何从 onLayout 重新加载界面?

json - 快速 JSON 解析

java - 使用 RandomAccessFile.writeBytes() 写入的文件中出现意外的额外字符