当前位置: 首页 > 知识库问答 >
问题:

如何将这个json映射到java中的自定义类

赵珂
2023-03-14

让我们假设我有以下json

[
    {
        "00080005":{
            "vr":"CS",
            "Value":[
                "ISO_IR 100"
            ]
        },
        "00080054":{
            "vr":"AE",
            "Value":[
                "DCM4CHEE"
            ]
        }
    }
]

如何在java中创建一个自定义类来映射它?我试过这个班的形状

public class custom1 {
    private Map<String, cusomt2> id;
}

并且cusomt2形状是

public class cusomt2 {
    private Object vr;
    private Object[] Value;
}

用Jackson地图绘制器绘制地图

ObjectMapper mapper = new ObjectMapper();
List<custom1> test = Arrays.asList(mapper.readValue(responseStream, custom1[].class));

正如预期的那样,给我一个错误:

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "00080005"

我想要"0008005"作为字段值而不是字段键,这些值是根据API动态变化的,所以如何映射这个json,有没有其他直接的方法最后一个选项op自定义反序列化?

共有1个答案

顾斌
2023-03-14

错误显示没有导致反序列化失败的id字段。

但是,输入JSON表示映射的列表/数组Map

@Data
class Pojo {
    String vr;
    String[] value;
}

然后应该使用TypeReference反序列化JSON:

java prettyprint-override">String json = ...; // long json string
ObjectMapper mapper = new ObjectMapper();
List<Map<String, Pojo>> data = mapper.readValue(json, new TypeReference<>() {});

 类似资料:
  • 我有一个像这样的json,它嵌套在其中一个字段中- 我创建了一个自定义类, 在我的服务类中,我正在读取json并将其映射到我的EmailTemplate类中,但是映射失败了。这里有什么可以用的? 例外情况: 我试着添加 但这也不起作用。

  • 本文向大家介绍apache-spark 使用Gson将JSON映射到自定义类,包括了apache-spark 使用Gson将JSON映射到自定义类的使用技巧和注意事项,需要的朋友参考一下 示例 使用Gson,您可以读取JSON数据集并将其映射到自定义类MyClass。 由于Gson不可序列化,因此每个执行程序都需要自己的Gson对象。而且,MyClass必须可序列化才能在执行程序之间传递。 请注意

  • 例如,我有以下接口映射器: 在代码中,您可以看到映射和一些默认方法,其中包含其他映射。如何在Mapstruct映射中使用这些方法,以便Mapstruct使用这些方法在字段中填充值?

  • 我有一个Spring Boot应用程序,我使用RestTemboard调用Rest API,我收到以下JSON格式的响应: 数组“data”中的单个元素几乎没有不同的结构(上面的两个例子),我想用单个元素映射不同的类类型,这取决于元素“type”的值。 例如,值“type1”应该映射到类类型为“type1”的对象,依此类推。 我创建了如下类:MyResponse: 数据: 类型1: 类型2: 如何

  • 我需要通过连接3个不同的表来获取6列。我在entity类的顶部将它们声明为NamedNativequery,并且使用了create named query method form JPA。当我尝试fo获取结果集时,我得到的是数组对象列表,而不是POJO类型的对象列表。为了将结果集映射到外部POJO,我应该定义任何外部映射吗?

  • 问题内容: 我需要将obj 映射到一个类及其中的数组,并且它也应该具有所有子级数据。(也嵌套数组列表),我需要再次将更新的数据列表转换为 我的json字符串是 问题答案: 首先, 您需要创建要在其中映射JSON的类。 幸运的是,有一个网站,可以为你做它在这里 其次,您可以使用Google Gson库进行轻松映射 1.添加 依赖项 。 2.从您的对象到JSON。 3.从JSON到object。 有关