java - 解析java中可能是JSONObject或JSONArray的json字段

标签 java json parsing arrays

我正在使用 json.org 库来解析我的 json。但我有一个名为“消息”的字段,根据消息的数量,该字段可能为空字段、JSONObject(如果只有一条消息)或 JSONArray(如果有多条消息)。我在处理这个问题时遇到了一些麻烦,因为我必须使用正确的对象类型来读取它,因为如果我不正确,它会返回错误。哦,它是 Java。

有人可以帮助我吗?我确信有一个“标准”方法来处理这个问题!

最佳答案

我只想创建一个简单的实用方法,如下所示:

private void processMessages(Object messages) {
    JSONArray jsonArr;
    if (messages instanceof JSONObject) {
        jsonArr = new JSONArray();
        jsonArr.put(messages);
    } else if (messages instanceof JSONArray) {
        jsonArr = messages;
    }

    // Process all the JSONObjects in the same way
    for (final JSONObject obj : jsonArr) {

    }
}

然后从您的代码中:

if (jsonObj.has("messages")) {
    processMessages(jsonObj.get("messages"));
}

关于java - 解析java中可能是JSONObject或JSONArray的json字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8971233/

相关文章:

parsing - 将不同大小的句子作为神经网络的输入时如何处理?

c# - 如何从 C# 中准确处理 SQL 的批处理分隔符

java - Android Room Persistence Library TypeConverter 未知问题

javascript - json.parse 不喜欢谷歌地图建议

asp.net-mvc - 下拉列表未填充 KnockoutJS 和 Ajax

android - 如何修复预期的字符串,但在带有改造的嵌套数组上是 BEGIN_OBJECT

javascript - 如何修改正则表达式以解析来自 YouTube 网址的参数

java - 无法通过按位运算获得长整型值

java - Java中从类外部调用私有(private)方法

java - 下载 URL 格式错误的图像