【发布时间】:2014-07-12 15:41:00
【问题描述】:
我是 JSON 的新手。因此,如果这是一个非常基本的疑问,请不要责骂我。我有一个 JSON 对象引用,我想获取 Key(Object has only one Key Value Pair) 。我如何在 Java 中获得它?
【问题讨论】:
标签: java javascript android json
我是 JSON 的新手。因此,如果这是一个非常基本的疑问,请不要责骂我。我有一个 JSON 对象引用,我想获取 Key(Object has only one Key Value Pair) 。我如何在 Java 中获得它?
【问题讨论】:
标签: java javascript android json
json.keys() 将提供JSONObject 中的所有键,其中json 是JSONObject 的对象
【讨论】:
您可以使用jsonObject.keys() 获取所有密钥。然后您可以遍历键以从中获取第一个键,例如:
Iterator<String> keys = jsonObject.keys();
if( keys.hasNext() ){
String key = (String)keys.next(); // First key in your json object
}
【讨论】:
递归搜索一个键,如果找到,返回它的值
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");
【讨论】: