首页 > 解决方案 > 在 Java 中使用命名的 JSON 对象

问题描述

我想处理以下格式的 JSON 文件:我希望文件中的数据是JSONObjectJava 中的对象。

但是我很困惑,文件中的对象有一个名称,我在网上找不到这种 JSON 文档的其他示例。

请建议。

{
"bazaar": {
    "21943236": {
        "cost": 69750,
        "quantity": 287
    },
    "20824133": {
        "cost": 69960,
        "quantity": 500
    },
    "21885344": {
        "cost": 69999,
        "quantity": 30
    },
    "10109747": {
        "cost": 70000,
        "quantity": 18
    }
}
}

标签: javajson

解决方案


根据您使用的库,JSONObject 可能会实现Map<String, Something>.

这通过调用 bazaar.keySet() 为您提供了所包含对象的所有名称。

所以它会像:

JsonObject bazaar = howeverYouLikeToObtainTheBazaarObject();

for(String name : bazaar.keySet()) {
  JSONObject costQuantity = bazaar.getJsonObject(name);
  // do stuff with name and costQuantity
}

推荐阅读