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

用json将String转换为List

欧阳成弘
2023-03-14

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

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

这是我的服务。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;
    }
A[] map = mapper.readValue(jSONString, A[].class);

我得到了:

InvalidDefinitionException:无法构造com.model.a的实例(不存在像默认构造那样的创建者):

更新:

List<A> map = mapper.readValue(jSONString, new TypeReference<List<A>>(){});
   public A(String paramName, String paramValue) {}

但仍然是个例外:

InvalidDefinitionException:无法构造com.model.a的实例(不存在像默认构造那样的创建者):

共有1个答案

养俊驰
2023-03-14

我认为问题是写在错误:试图定义一个空的构造函数的类必须反序列化。我还认为,要序列化类(也就是说,从字节到类),必须实现可序列化接口

 类似资料:
  • 问题内容: 我目前正在努力解决一个简单的问题。我想从RabbitMQ接收消息,并将其转换为字符串(或更高版本的json对象)。但是我得到的只是字节。 该 消息 对象显示本身作为一个字符串,方式 配置类(使用spring) 和消息监听器 我的问题是, getBody() 方法显示 [B @ 4dbb73b0, 因此没有任何转换。既不是字符串也不是json对象:( 我觉得很愚蠢,但是我在这里找不到解决

  • 问题内容: 我正在开发一些应用程序,它允许从SD卡中选择图像,将其保存到数据库中并为ImageView设置此值。我需要知道将uri转换为字符串并将字符串转换为uri的方法。现在,我使用了Uri的getEncodedPath()方法,但是例如,此代码不起作用: 因此,我不知道如何将Uri保存到数据库中并根据保存的值创建新的Uri。请帮我修复它。 问题答案: 我需要知道将uri转换为字符串并将字符串转

  • 我从rest调用中获得了一个json,其格式为{“D1”:1,“D2”:1,“D3”:0,“D4”:1},它在db中存储为-{D1=1,D2=1,D3=0,D4=1}。 到目前为止我已经试过了,但没有成功- JSONParser parser=新的JSONParser();JSONObject json=(JSONObject)parser.parse(jsonString); 我想把这个json

  • 问题内容: 如何从float转换为string或从string转换为float? 在我的情况下,我需要在2个值字符串(我从表中获得的值)和我计算出的浮点值之间进行断言。 我尝试从浮动到字符串: 但是断言失败 问题答案: 使用Java的类。 为了进行比较,将字符串转换为float并比较两个float总是更好。这是因为对于一个浮点数,存在多个字符串表示形式,与字符串相比,它们是不同的(例如“ 25”!

  • 问题内容: 我正在使用Jongo与Mongo一起工作,当我执行查询时会收到结果。 问题是,如果json是content ,它将不是from的唯一方法。 我如何获得原件? 我没有要映射的地图,也不是创建类的解决方案,这就是为什么我使用 问题答案: 如果您可以访问某些JSON库,那似乎就是这样。 如果使用org.json库,请使用: 如果是Gson,请使用@hellboy提到的方法:

  • 我有个方法 所以本质上是这样的: exec(这里的一些java魔术将str3转换为string[],然后将这个string[]传递给这个exec方法本身);