gpt4 book ai didi

java - 将嵌套的 JSON 字符串转换为 java 对象列表

转载 作者:行者123 更新时间:2023-11-30 02:15:12 25 4
gpt4 key购买 nike

我有这个 json 字符串

{"data":"[Level [key=LevelKey [keyEnd=0], Description=abc], Level [key=levelKey [keyEnd=1], Description=xyz]", "id":"123"}

对应的java类是

public class Level {
public LevelKey key;
public String id;
}


public class LevelKey{
public String keyEnd;
}

我想使用 Jackson 将此 data json 字符串转换为 Level 对象列表

 ObjectMapper mapper = new ObjectMapper();
List<Level> arr = mapper.readValue(data, new TypeReference<List<Level>>(){});

但是我遇到了以下错误

com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'Level': was expecting ('true', 'false' or 'null')

还有其他方法可以解析吗?

最佳答案

下面的内容看起来不像是用于此目的的正确 JSON(标准固定字符串除外)

"[Level [key=LevelKey [keyEnd=0], Description=abc], Level [key=levelKey [keyEnd=1], Description=xyz]"

您可以将 JSON 的数据部分更正为如下所示(最接近您的 JSON):

[\"Level [key=LevelKey [keyEnd=0], Description=abc]\",\" Level [key=levelKey [keyEnd=1], Description=xyz]\"]

Is there any other method to parse it?

您可以使用 ArrayList 的直接类引用,而不必像下面那样实例化 TypeReference 来解析上面(已更正的)json 字符串:

List<Level> arr = mapper.readValue(data, (new ArrayList<Level>()).getClass());

关于java - 将嵌套的 JSON 字符串转换为 java 对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48762709/

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