java - 如何检查 JSONArray 中特定的键和值是否可用

标签 java json

我有一个 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/

相关文章:

Java 角色扮演游戏 : Useful tools

java - 使用 while(true){//Processes } 是否有效?

xml - 在 grails 中以 CSV 格式呈现

JSON VBA 解析到 Excel

php - 使用 JSON 输入的 CakePHP API PUT

java - 使用RelativeLayout来偏移中心对齐ProgressBar View ?

java - lambda 复制具有不同键类型的映射

javascript - 在 ReactJS 应用程序中将字符串转换为 JSON 对象时出错

android - JSONObject 响应为空

java - 关于Swing定时器的一些问题