我有一个 JSONArray,我需要获取此 JSONArray 中是否有可用的特定键值。比方说,我有一个特定的键值对,例如 当前就业状态:False,我需要验证该键值对在我的 JSONArray 中是否可用。我的 JSONArray 如下:
[
{
"last_seen":1557908766238,
"distinct_id":"11cb639f-cbf7-499c- a1cf-e3ff4466a093",
"time":1557908766238,
"properties":{
"$browser_version":74,
"$name":"Jessica Claire",
"$timezone":"Asia/Kolkata",
"$os":"Windows",
"$email":"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="52636b0d62670d63670d63616767606b6461630d37301f020012373f333b3e7f23337c3e3b24373133203737207c313d3f" rel="noreferrer noopener nofollow">[email protected]</a>",
"$initial_referring_domain":"$direct",
"userid":"11cb639f-cbf7-499c-a1cf-e3ff4466a093",
"$first_name":"Jessica",
"Current Employment Status":"FALSE",
"enter builder":1,
"fedex experience":"FALSE",
"ResumeTips Permission":"TRUE",
"id":"11cb639f-cbf7-499c-a1cf-e3ff4466a093",
"LCNews Permission":"TRUE",
"Document Creation Mode":"scratch",
"Email Valid":"False",
"$last_name":"Claire",
"Payment Status":"Not Started",
"Work Experience Modal":"TRUE",
"$city":"Noida",
"Subscription Status":"FALSE",
"Job Alerts Permission":"TRUE",
"sign up":1,
"$browser":"Chrome",
"userId":"11cb639f-cbf7-499c-a1cf-e3ff4466a093",
"$country_code":"IN",
"$region":"Uttar Pradesh",
"One Time Purchase":"FALSE",
"$last_seen":"2019-05-15T08:26:06.000Z",
"Last enter builder":"2019-05-15T08:24:01.000Z",
"Last sign up":"2019-05-15T08:26:03.000Z",
"$initial_referrer":"$direct",
"EduOps Permission":"TRUE"
},
"labels":[
]
}
]
如果存在则应打印 true,如果不存在则应打印 false。
最佳答案
我已将此 json 存储在名为 findKey.json 的文件中
String path = "others\\findKey.json";
File f = new File(path);
JSONParser parser = new JSONParser();
Object obj = parser.parse(new FileReader(f));
JSONArray arr = (JSONArray) obj;
for (int i = 0; i < arr.size(); i++) {
if (arr.get(i) instanceof JSONObject) {
JSONObject jsonobject = (JSONObject) arr.get(i);
JSONObject props = (JSONObject) jsonobject.get("properties");
String key = (String) props.get("Current Employment Status");
//print true if key is found and equals to false
Boolean output= (key != null && key.equals("FALSE"))? true:false;
System.out.println(output);
}
}
不要忘记使用 json-simple
关于java - 如何检查 JSONArray 中特定的键和值是否可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56147057/