gpt4 book ai didi

java - 对象映射器反序列化映射数组

转载 作者:行者123 更新时间:2023-12-02 09:38:26 24 4
gpt4 key购买 nike

   {
"name" : "test",
"info": [
{
"key1": "test",
"key2": "blaa",
"key3": "yadayada"
},
{
"key4": "test1",
"key5": "blaa1",
"key6": "yadayada1"
}
],
}

我有这个类用于反序列化

public class Account{
private String name;
private Map<String,String>[] info;
}

出于某种原因info没有被反序列化...即使使用 List<Map<String,String>> 也没有它始终为空,并且 name正在工作

(我正在使用ObjectMapper)

代码

   ObjectMapper objectMapper = new ObjectMapper();
objectMapper.disable( DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES);
results = objectMapper.readValue(responseBody.getEntity().getContent(), Account.class);

谢谢

最佳答案

问题在于您发布的 JSON 架构末尾有一个错误的逗号)。尝试以下方法

假设 responseBody.getEntity().getContent() 是您发布的 JSON

Account.java

或更具体

private String name;
private Map<String,String>[] info;
//getters && setters && default constructor

反序列化方法

    Account account = null;
ObjectMapper objectMapper = new ObjectMapper();
try {
account = objectMapper.readValue(responseBody.getEntity().getContent(), Account.class);
} catch (IOException e) {
e.printStackTrace();
}

关于java - 对象映射器反序列化映射数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57310650/

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