[
{
"tags": [],
"id": "aaaaaaaaaaaa",
"author": "admin",
"type": "profile",
"description": "",
"name": "defaultProfile1",
"display_name": "Default1"
},
{
"tags": [],
"id": "bbbbbbbbbbbbb",
"author": "admin",
"type": "profile",
"description": "test profile",
"name": "defaultProfile2",
"display_name": "Default2"
}]
这是我从获取请求中获得的响应,如何将此响应转换为Java列表,以便我可以在列表上执行Stream(.)过滤器。
Gotohttp://www.jsonschema2pojo.org/并将您的JSON转换为Java类,它会自动将JSON更改为JavaPOJO,您可以使用它来获取响应,假设您的POJO类名是PojoResseClass
Gson g = new Gson();
PojoResponseClass resObj = g.fromJson(response.asString(), PojoResponseClass.class);
您在此处拥有的是一个 JSON 对象数组。
您可以轻松地将其转换为Java类,以便更有效地使用过滤器。
创建一个名为User Object的类,该类表示单个JSON对象,如下所示:
public class UserObject {
public List<String> tags;
public String id;
public String author;
public String type;
public String description;
public String name;
@JsonProperty(value = "display_name")
public String displayName;
}
然后,使用JsonPath
将JSON转换为这些对象的列表:
JsonPath path = JsonPath.from(json); //String or File
List<UserObject> users = Arrays.asList(path.getObject(".", UserObject[].class));
基本上,您将JSON映射到UserObject[]数组,并将其转换为List以进行流处理。
path.getObject
中的点表示“从JSON的根开始”
使用stream()。filter()首先你需要将JSON转换成POJO,然后你可以使用Jackson提供的对象映射器
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
要将JSON转换为POJO,可以在下面使用,也可以命名所需的类:-
public class Author {
public List<String> tags;
public String id;
public String author;
public String type;
public String description;
public String name;
@JsonProperty(value = "display_name")
public String displayName;
// getter - setter
}
最后,我们必须创建作者列表,以便您可以在那里使用流:-
List<Author> list = Arrays.asList(mapper.readValue(json, Author[].class));
代替json,您可以输入从GET api获得的响应。现在您已经从JSON创建了项目列表。所以你现在可以使用流了。
问题内容: 我在mySQL 5.1中有一个数据类型的日期列。如何将其转换为DATE? 这是我到目前为止所拥有的- 得到这个 错误-#1064-您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’FROM 7 FOR 4附近使用) 请帮忙。 问题答案: 您可以使用MySQL的功能 尽管我怀疑您使用Unix时间戳会更轻松
问题内容: 有没有一种简单的方法可以避免处理文本编码问题? 问题答案: 您确实无法避免处理文本编码问题,但是Apache Commons中已有一些解决方案: 至: 至: 您只需要选择所需的编码即可。
问题内容: 如何使用Java将Dicom文件(.dcm)转换为jpeg图像?这是我的代码: 我在运行项目时遇到以下错误 请帮助并提前感谢 问题答案: 这是使用dcm4che 2将DICOM转换为JPEG的链接 以下是我的代码,效果很好,我将其与导入一起放置,因此可能用完了。 用于运行它的罐子 dcm4che-imageio-2.0.28.jar dcm4che-image-2.0.28.jar j
问题内容: 我正在使用A 将Json从Web转换为字符串。 这可能很简单,但是我似乎无法将此字符串转换为。 我怎样才能做到这一点? 问题答案: 请参阅文档和示例。
问题内容: 如何在Java中将org.jdom.Document转换为字符串? 问题答案:
问题内容: 我有一个下面的代码- 通过HttpClient连接到Web服务到PHP文件 从SQL查询返回结果 返回格式是一个jArray(一个JSONArray) 当我查看LogCat时,我看到了查询的所有“名称”,每条记录都被打印出来。我只需要将这些结果插入ListView中即可。我怎样才能做到这一点? PS-我没有ArrayAdapter的单独类。这可能是原因吗? 问题答案: 如果您只想显示t
问题内容: 我有将ZipInputSream转换为byte []的代码,但我不知道如何将其转换为inputstream。 问题答案: 这是我解决此问题的方法。现在,我可以将单个文件从ZipInputStream作为InputStream传输到内存。
问题内容: 我正处于开发阶段,在那里我有两个模块,从一个模块我得到的输出为a OutputStream,第二个模块仅接受InputStream。您是否知道如何转换OutputStream为InputStream可以连接这两部分的方式(反之亦然,我是说真的) 谢谢 问题答案: 是您向其中写入数据的地方。如果某个模块公开了,则期望在另一端读取一些内容。 另一方面,暴露出的信息表示您需要侦听此流,并且会