【发布时间】:2020-10-23 09:28:57
【问题描述】:
我们有一个 JSON 请求,我需要检查一些条件。
- 通过从键中获取值。(例如,从键名中获取安东尼)
- 检查key是否存在于json对象中。 (检查以下对象中是否存在 Dob 键)
JSON 请求将采用以下格式。
“学校”:{“RollNum”:“123”,“姓名”:“安东尼”,“地址”:“印度”}
请有人帮我解决。
【问题讨论】:
我们有一个 JSON 请求,我需要检查一些条件。
JSON 请求将采用以下格式。
“学校”:{“RollNum”:“123”,“姓名”:“安东尼”,“地址”:“印度”}
请有人帮我解决。
【问题讨论】:
要获取属性,请使用:
String key = jsonObject.get("key").getAsString();
检查属性:
jsonObject.has(key) && !jsonObject.isNull(key); //key will be your field to check
如果你还想检查字符串是否不为空,请使用:
jsonObject.has(key) && !jsonObject.isNull(key) && jsonObject.has(key) && !jsonObject.isNull(key);
【讨论】:
你可以试试这个方法。
JsonObject jsonObject = (JsonObject) JsonParser.parseString("yourJason");
String name = jsonObject.get("Name").getAsString();
如果你的json有nexted对象,你可以试试。
JsonObject school = jsonObject.get("School");
String name = school.get("Name").getAsString();
【讨论】:
我向你推荐图书馆Gson。
对于 Maven:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
<scope>compile</scope>
</dependency>
简单示例:
Gson gson = new Gson();
JsonObject json = gson.fromJson("your json string", JsonObject.class);
// get attribute
String name = json.get("Name").getAsString();
// check an attribute
if(json.has("someKeyName")) {
// do something else
}
【讨论】: