将带有json的字符串转换为列表

问题描述 投票:3回答:1

我正在尝试将JSON字符串(必须是列表)转换为对象列表:

[   
    {
        "paramName":"Content-Type",
         "paramValue":"text/xml; charset\u003d\"utf-8\""
    }
]

这是我的Service.class:

String jSONString = new Gson().toJson(systemParams);
ObjectMapper mapper = new ObjectMapper();
List<A> map = (List<A>) mapper.readValue(jSONString, A.class);

这是我的模特:

@Data
@AllArgsConstructor
    public class A {

        String paramName;
        String paramValue;
    }

但是我获得了例外:

无法反序列化java.util.LinkedHashMap的实例

所以我尝试了不同的方式:

A[] map = mapper.readValue(jSONString, A[].class);

我获得了:

InvalidDefinitionException:无法构造的实例com.model.A(没有创建者,例如默认构造,存在):

java json objectmapper
1个回答
0
投票

我认为问题出在错误中:尝试在必须反序列化的类上定义一个空的构造函数。我还认为,要序列化该类(从字节到类,则是另一种方法),您必须实现可序列化的接口。

© www.soinside.com 2019 - 2024. All rights reserved.