【问题标题】:How to access two dimension json array?如何访问二维json数组?
【发布时间】:2017-11-29 14:59:58
【问题描述】:

我正在使用 java 我进口了

import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;

假设我有“freeBaggageAvailable”

 "freeBaggageAvailable" : [
    {
        "Y" : [{
                "*" : [{"num":1,"weight": 23,"price": 0}],
               "mc" : [{"num:":1,"weight" : 23,"price": 0}, {"num":2, "weight": 23,"price": 0}],
               "mp" : [{"num:":1,"weight" : 23,"price": 0}, {"num":2, "weight": 23,"price": 0}],
               "mmc" :[{"num:":1,"weight" : 23,"price": 0}, {"num":2, "weight": 32,"price": 0}]
              }],
         "C" : [{
                "*" : [{"num":1,"weight":32 ,"price": 0},{"num":1,"weight":32 ,"price": 0}],
               "mc" : [{"num:":1,"weight" : 32,"price": 0}, {"num":2, "weight": 32,"price": 0},{"num":3,"weight":32 ,"price": 0}],
               "mp" : [{"num:":1,"weight" : 32,"price": 0}, {"num":2, "weight": 32,"price": 0},{"num":3,"weight":32 ,"price": 0}],
               "mmc" :[{"num:":1,"weight" : 23,"price": 0}, {"num":2, "weight": 32,"price": 0}]
              }],

          "F" : [{
                "*" : [{"num":1,"weight":32 ,"price": 0},{"num":1,"weight":32 ,"price": 0}],
               "mc" : [{"num:":1,"weight" : 32,"price": 0}, {"num":2, "weight": 32,"price": 0},{"num":3,"weight":32 ,"price": 0},{"num":4,"weight":32 ,"price": 0}],
               "mp" : [{"num:":1,"weight" : 32,"price": 0}, {"num":2, "weight": 32,"price": 0},{"num":3,"weight":32 ,"price": 0},{"num":4,"weight":32 ,"price": 0}],
               "mmc" :[{"num:":1,"weight" : 23,"price": 0}, {"num":2, "weight": 32,"price": 0},{"num":4,"weight":32 ,"price": 0}]
              }]}
     ],

如果我想访问数据 "Y" -> "mc" -> "num"
如何从 JsonObject 访问它

 File file = new File(classLoader.getResource("files/BaggageInfoPolicy.json").getFile());

        Object obj = parser.parse(new FileReader(file));
        JSONObject jsonObject = (JSONObject) obj;

【问题讨论】:

  • 欢迎来到 Stack Overflow - 确保您 read the guidance 了解如何提出好的问题。这个问题似乎有点不清楚。试着让你的问题更容易回答,你可能会找到更多的答案。
  • 请添加您希望加载的语言的标签,并请添加您正在使用的 JSON 库。显示预期的输出也很有帮助 - 即您希望检索的确切内容/您希望它在加载到内存时的结构。

标签: java json jsonparser


【解决方案1】:

在 JSON.org 参考实现中,您可以这样做:

for (String key : JSONObject.getNames(jsonObject))
{
    map.put(key, jsonObject.get(key));
}

在简单的 JSON 中,你会这样做:

for (Object keyObject : jsonObject.keySet())
{
    String key = (String)keyObject;
    map.put(key, (String)jsonObject.get(key));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 2012-06-01
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    相关资源
    最近更新 更多