获取JSON对象中的所有Key有多种方式,下面介绍两种常用的方式:
方法一:使用Gson库解析JSON
- 引入Gson库
在项目中使用Maven等依赖工具引入Gson库:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
- 解析JSON字符串
假设我们要获取如下JSON中的所有Key:
{
"name": "Alice",
"age": 18,
"gender": "female"
}
我们可以使用Gson库将JSON字符串解析成JsonObject
对象:
String jsonStr = "{\"name\":\"Alice\",\"age\":18,\"gender\":\"female\"}";
JsonObject json = new Gson().fromJson(jsonStr, JsonObject.class);
- 获取所有Key
因为JsonObject
继承自Map<String, JsonElement>
,所以我们可以使用Map的keySet()方法获取所有Key:
Set<String> keys = json.keySet();
System.out.println(keys);
此时会输出结果:[name, age, gender]
。
方法二:使用Json库解析JSON
- 引入Json库
在项目中使用Maven等依赖工具引入Json库:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20190722</version>
</dependency>
- 解析JSON字符串
我们同样可以使用Json库将JSON字符串解析成JSONObject
对象:
String jsonStr = "{\"name\":\"Alice\",\"age\":18,\"gender\":\"female\"}";
JSONObject json = new JSONObject(jsonStr);
- 获取所有Key
JSONObject
对象提供了keys()方法获取所有Key:
Iterator<String> keys = json.keys();
while (keys.hasNext()) {
String key = keys.next();
System.out.println(key);
}
此时会输出结果:name age gender
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中获取json的所有key方法 - Python技术站