【问题标题】:Fetch the json keys using java使用java获取json键
【发布时间】:2015-01-19 04:15:50
【问题描述】:

我有一个 json 对象,如何获取所有键,以后无需对键进行硬编码,如何获取键值。

  {  
     "A":"M1",
     "Data":[  
        {  
           "B":[  
              {  
                 "B1":"111",
                 "B2":"Warning "

              },
              {  
                 "B1":"222",
                 "B2":"Warning "

              }
           ],
           "C":[  
              {  
                 "c1":"IL2",
                 "c2":"[0.750183,0.00933380975964486]"
              },
              {  
                 "c1":"IL1b",
                 "c2":"[0.750183,-1.5216938335421]"
              }
           ]
        }
     ]
  }

【问题讨论】:

  • How to parse JSON in Java的可能重复
  • 请参考以下链接,它可以帮助您[在不知道键名的情况下访问 JSON 对象的元素][1] [1]:stackoverflow.com/questions/5113847/…
  • jackson 是处理 json 字符串的非常好的 api。它允许直接在 pojo 或任何需要的对象中解析 json。处理 json 有很大的灵活性。更多详情请参考jackson.codehaus.org
  • @amrutha This 可能会有所帮助,现在就写给你。
  • @amrutha 您是否看过文章,是否解决了您的目的。获得 HashMap 后,对其进行迭代以获取 entry.getKey()entry.getValue()

标签: java json


【解决方案1】:

试试这个... 这可能对你有用....

您必须使用 JSONObject keys() 来获取密钥,然后迭代每个密钥以获取动态值。

代码大致如下:

// searchResult refers to the current element in the array "search_result"
JSONObject questionMark = searchResult.getJSONObject("question_mark");
Iterator keys = questionMark.keys();

while(keys.hasNext()) {
    // loop to get the dynamic key
    String currentDynamicKey = (String)keys.next();

    // get the value of the dynamic key
    JSONObject currentDynamicValue = questionMark.getJSONObject(currentDynamicKey);

    // do something here with the value...
}

【讨论】:

  • 我正在使用 import org.json.JSONObject;是那个好还是我想用的任何其他罐子
猜你喜欢
  • 1970-01-01
  • 2020-03-11
  • 2017-07-29
  • 1970-01-01
  • 2020-02-01
  • 2016-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多