使用java获取json密钥

使用java获取json密钥,java,json,Java,Json,我有一个json对象,我如何获得所有的键,以后如果不硬编码键,我如何获得键值 { "A":"M1", "Data":[ { "B":[ { "B1":"111", "B2":"Warning " }, { "B1":"222"

我有一个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]"
              }
           ]
        }
     ]
  }
试试这个。。。 这可能对你有用

您必须使用JSONObject键来获取该键,然后迭代每个键以获取动态值

代码大致如下所示:

// 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...
}

可能重复的请参考以下链接,该链接可能会帮助您[在不知道密钥名称的情况下访问JSON对象的元素][1][1]:jackson是处理JSON字符串的非常好的api。它允许在pojo或任何所需对象中直接解析json。它在处理json时具有很大的灵活性。有关更多详细信息,请参阅。@amrutha可能会有所帮助,刚刚为您撰写。@amrutha您看过这篇文章了吗?它解决了您的问题了吗。获得HashMap后,对其进行迭代以获得entry.getKey和entry.getValueI使用的是import org.json.JSONObject;那个罐子好吗?还是我可以用的其他罐子