如何使用Android或Java将JSON对象值与属性匹配?

如何使用Android或Java将JSON对象值与属性匹配?,java,android,arrays,jsonobject,Java,Android,Arrays,Jsonobject,我正在使用概念JSONArray parse创建一个示例,以获得与属性匹配的特定值 例如: 示例_struct.json文件数据 [ { "query": "Pizza", "locations": [94043,90210] "mDK": "kk" }, { "query": "Pizza", "locations": [94043,90210] }, { "query": "akkk", "locations": [94043,90210]

我正在使用概念JSONArray parse创建一个示例,以获得与属性匹配的特定值

例如:

示例_struct.json文件数据

 [ {
 "query": "Pizza",
 "locations": [94043,90210]
 "mDK": "kk"

       }, {
 "query": "Pizza",
 "locations": [94043,90210]
       }, {
 "query": "akkk",
 "locations": [94043,90210]
       }, {
 "query": "Pizza",
 "locations": [94043,90210], 
 "mDK": "kk"
       }, {
 "query": "Pizza",
 "locations": [94043,90210],"mDK": "ff"
       }, {
 "query": "Pigg",
 "locations": [94043,90210],"mDK": "kk"
       }, {
 "query": "Pgg",
 "locations": [94043,90210],"mDK": "ff"  }, {
 "query": "Pgg",
 "locations": [94043,90210],"mDK": "ff"  }, {
 "query": "Pgg",
 "locations": [94043,90210],"mDK": "ff"  }, {
 "query": "Pgg",
 "locations": [94043,90210],"mDK": "kk"  }]
我的需要是获取“mDk”,其中字符串“kk”要在查询和位置值中列出并显示它

String mmm = "kk";

JSONArray jsonArray=getJSonData("sample_struct.json");
parseData(jsonArray);

private void parseData(JSONArray array) {
    for(int i = 0; i < array.length(); i++) {
        Mo mo = new Mo();
        JSONObject json = null;

        try {
            json = array.getJSONObject(i);

            if(json.get("mDK").equals(mm)) {

                mo.setquery(json.getString("query"));
                mo.setlocations(json.getString("locations));
                mo.setmDK(json.getString("mDk"));
            }

        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}
String mmm=“kk”;
JSONArray JSONArray=getJSonData(“sample_struct.json”);
parseData(jsonArray);
私有void parseData(JSONArray数组){
对于(int i=0;i
不显示空值。

样本数据错误

你少了一个逗号

嫦娥

     [ {
 "query": "Pizza",
 "locations": [94043,90210]
 "mDK": "kk"


首先,它不是一个有效的JSON,为了使它有效,在第3行添加逗号(),如下所示

"locations": [94043,90210],
那么只有你可以这样检查

json = array.getJSONObject(i);

if(json.getString("mDK").equals(mm)){
  //Your logic
}

记住:它不是
json.get
,它是
json.getString

我的sample_struct.json文件没有有效的json数据。请检查这里,只是从文件中复制粘贴文本。您现在得到的结果是什么,它与您想要达到的结果有何不同?
json = array.getJSONObject(i);

if(json.getString("mDK").equals(mm)){
  //Your logic
}