gpt4 book ai didi

java - 过滤Json数组

转载 作者:行者123 更新时间:2023-12-02 15:07:47 25 4
gpt4 key购买 nike

这是我第一次使用 json,我很难尝试过滤一个数组,我试图获取 id_estado=1 的所有值 (tienda)。

知道如何解决这个问题吗?

JA1= [{"id_estado":"1","tienda":"Aurrera"},{"id_estado":"1","tienda":"Walt-Mart"},{"id_estado":"1","tienda":"Chedraui"},{"id_estado":"1","tienda":"Soriana"},{"id_estado":"1","tienda":"Comercial MX"},{"id_estado":"1","tienda":"City Market"},{"id_estado":"2","tienda":"Walt-Mart"},{"id_estado":"2","tienda":"Chedraui"},{"id_estado":"2","tienda":"Aurrera"},{"id_estado":"2","tienda":"Superama"}]

JSONArray JA1=new JSONArray(result1);
JSONObject json1= null;
name = new String[JA1.length()];
for (int i = 0; i < JA1.length(); i++) {
Log.d("LOG", "resultado name sin arreglo11 " + JA1);
//name[i] = json1.getString("tienda");
//name[i]=json1.getString("estado");
}

for(int i=0;i<name.length;i++)
{
list2.add(name[i]);
Log.d("LOG", "resultado name2 " + name[i]);
}

提前致谢

最佳答案

这是我的做法:

    try {
List<String> filtered = new ArrayList<>();
JSONArray ary = new JSONArray(/* your json here */);

for (int i = 0; i < ary.length(); ++i) {
JSONObject obj = ary.getJSONObject(i);
String id = obj.getString("id_estado");
if (id.equals("1")) {
filtered.add(obj.getString("tienda"));
}
}
} catch (JSONException e) {
// handle exception
}

这段代码的解释:

  • 创建一个 ArrayList 来保存过滤后的值。
  • 从您的 json 文本创建一个 JSONArray
  • 遍历数组中的每个元素,每次提取一个 JSONObject
  • 对于每个对象,我们获取其 id_estado 属性并检查它是否等于 "1"
  • 如果是,我们将 tienda 属性添加到过滤值列表中。

关于java - 过滤Json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46137234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com