【问题标题】:Json Object - Getting the Key and the ValueJson 对象 - 获取键和值
【发布时间】:2014-07-12 15:41:00
【问题描述】:

我是 JSON 的新手。因此,如果这是一个非常基本的疑问,请不要责骂我。我有一个 JSON 对象引用,我想获取 Key(Object has only one Key Value Pair) 。我如何在 Java 中获得它?

【问题讨论】:

标签: java javascript android json


【解决方案1】:

json.keys() 将提供JSONObject 中的所有键,其中jsonJSONObject 的对象

【讨论】:

    【解决方案2】:

    您可以使用jsonObject.keys() 获取所有密钥。然后您可以遍历键以从中获取第一个键,例如:

    Iterator<String> keys = jsonObject.keys();
    if( keys.hasNext() ){
       String key = (String)keys.next(); // First key in your json object
    }
    

    【讨论】:

    • 最好在 while 中这样做:while (keys.hasNext()) { String key = keys.next(); ...}
    【解决方案3】:

    递归搜索一个键,如果找到,返回它的值

        String recurseKeys(JSONObject jObj, String findKey) throws JSONException {
    
        Iterator<?> keys = jObj.keys();
        String key = "";
    
        while (keys.hasNext() && !key.equalsIgnoreCase(findKey)) {
            key = (String) keys.next();
    
            if (key.equalsIgnoreCase(findKey)) {
                return jObj.getString(key);
            }
            if (jObj.get(key) instanceof JSONObject) {
                return recurseKeys((JSONObject)jObj.get(key), findKey);
            }
        }
    
        return "";
    }
    

    用法:

    JSONObject jObj = new JSONObject(jsonString);
    String extract = recurseKeys(jObj, "extract");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多