Json Java:检索具有特定值的属性

时间:2014-08-07 21:59:22

标签: java json parsing

我需要从给定的JSON节点检索具有特定值的那些属性。就我而言,它是" Photorec"例如......

                {

                    "Id": "a3TU0000008MMfwMAG",
                    "Measurement__c": "a3VU0000000huVaMAI",
                    "Available__c": false,
                    "Available_MT__c": "Photorec",
                    "Available_Ambient__c": false,
                    "Available_Ambient_MT__c": "Photorec",
                    "Available_Chilled__c": false,
                }

在这里,我想找回一个数组或列表,其值为#34; Available_MT__c"和" Available_Ambient_MT__c"。

我在代码中使用Java的org.json.JSONObject来表示这个节点。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

试试这样的东西:)

            ArrayList<String> foundValues = new ArrayList<String>();
            ArrayList<String> jsonStringValues= new ArrayList<String>();
            jsonStringValues.add("Id");
            jsonStringValues.add("Available_Ambient_MT__c");
            jsonStringValues.add("Available_MT__c");
            jsonStringValues.add("Measurement__c");

            JSONObject jObj = yourItems.getJSONObject(i);
            for(String node: jsonStringValues){
               if(jObj.getString(node).equals("Photorec")){
                  foundValues.add(node);
               } 
            }
            System.out.println("Values found: " + foundValues);