Json对象 - 获取关键和价值

时间:2014-05-23 10:12:30

标签: java javascript android json

我是JSON的新手。所以如果这是一个非常基本的疑问,请不要骂我。我有一个JSON对象引用,我想获得密钥(对象只有一个键值对)。我如何用Java获取它?

3 个答案:

答案 0 :(得分:5)

您可以使用jsonObject.keys()获取所有密钥。然后你可以迭代键来获取第一个键,如:

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

答案 1 :(得分:1)

json.keys()会在JSONObject json JSONObject的对象中提供所有密钥{{1}}

答案 2 :(得分:0)

递归搜索密钥,如果找到,则返回其值

    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");