我正在使用 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/