gpt4 book ai didi

android - 如何在 JSON 中搜索并在 Activity 中返回搜索结果

转载 作者:行者123 更新时间:2023-11-29 00:09:47 25 4
gpt4 key购买 nike

我在 Activity 中解析 JSON 以在 gridView 中显示文本和图像。但是我想尝试添加搜索功能 在此 JSON 上显示 Activity 的结果。

例如,考虑一个 JSON 在线服务器上的脚本,如下所示:

[
{
"title": "Ongata Rongai",
"image": "http://snapt.t15.org/melanie/real_estates/images/house1.jpg",
"rating": 5 500 000,
"releaseYear": 2014,
"genre": ["Spacious open lounge and kitchen"]
},
{
"title": "Kisumu",
"image": "http://snapt.t15.org/melanie/real_estates/images/house2.jpg",
"rating": 1 700 000,
"releaseYear": 2014,
"genre": ["high end townhouse."]
},
{
"title": "Mombasa",
"image": "http://snapt.t15.org/melanie/real_estates/images/house3.jpg",
"rating": 68 000,
"releaseYear": 2014,
"genre": ["Its fully fitted kitchedn pantry with a beautyful backyard."]
}
]

我想实现对 title 的搜索,例如 Kisumu 并且要显示的结果将仅来自这部分,以便我单独解析它:

[
{
"title": "Kisumu",
"image": "http://snapt.t15.org/melanie/real_estates/images/house2.jpg",
"rating": 1 700 000,
"releaseYear": 2014,
"genre": ["high end townhouse."]
}
]

有没有办法实现上述目标?

我乐于接受想法和建议,我们将不胜感激。

最佳答案

不能直接搜索json。将 json 转换为 List Java类。然后使用像 Predicate 这样的 Java API找到满足您条件的必要 java 类。对于例如:如您所问,标题为Kusumu

这会将类列表限制为满足条件的类。如果需要 Json,则将 java 类转换回 json。

注意:您可以使用GSON为了简单 class <-> json转换

更新

Json转Java类

List<ModelClass> models = new Gson().fromJson(yourJsonString, ModelClass.java);

然后使用谓词

public static Predicate<ModelClass> isHavingTitle() {
return p -> p.getTitle().contains("Kusumu");
}

在 Java 8 中,谓词过滤可以像下面那样完成,在其他情况下,您可以直接用谷歌搜索。这是一个示例

public static List<ModelClass> filterEmployees (List< ModelClass > models, Predicate< ModelClass > predicate) {
return models.stream().filter( predicate ).collect(Collectors.<ModelClass>toList());
}

我没有编译任何这些:)

String filteredJson = new Gson().toJson(models);

关于android - 如何在 JSON 中搜索并在 Activity 中返回搜索结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31146305/

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