我是JSON的新手。所以如果这是一个非常基本的疑问,请不要骂我。我有一个JSON对象引用,我想获得密钥(对象只有一个键值对)。我如何用Java获取它?
答案 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");