gpt4 book ai didi

java - 如何将以下 json 字符串转换为 java 对象?

转载 作者:IT老高 更新时间:2023-10-28 12:45:00 26 4
gpt4 key购买 nike

我想将以下 JSON 字符串转换为 java 对象:

String jsonString = "{
"libraryname": "My Library",
"mymusic": [
{
"Artist Name": "Aaron",
"Song Name": "Beautiful"
},
{
"Artist Name": "Britney",
"Song Name": "Oops I did It Again"
},
{
"Artist Name": "Britney",
"Song Name": "Stronger"
}
]
}"

我的目标是轻松访问它,例如:

(e.g. MyJsonObject myobj = new MyJsonObject(jsonString)
myobj.mymusic[0].id would give me the ID, myobj.libraryname gives me "My Library").

我听说过 Jackson,但我不确定如何使用它来适应我拥有的 json 字符串,因为它不仅仅是键值对,因为涉及“mymusic”列表。我如何与 Jackson 一起完成此任务,或者如果 Jackson 不是最适合此任务,我是否有更简单的方法可以完成此任务?

最佳答案

无需为此使用 GSON; jackson 可以做简单的 map /列表:

ObjectMapper mapper = new ObjectMapper();
Map<String,Object> map = mapper.readValue(json, Map.class);

或更方便的 JSON 树:

JsonNode rootNode = mapper.readTree(json);

顺便说一句,你没有理由不能真正创建 Java 类并更方便地执行它(IMO):

public class Library {
@JsonProperty("libraryname")
public String name;

@JsonProperty("mymusic")
public List<Song> songs;
}
public class Song {
@JsonProperty("Artist Name") public String artistName;
@JsonProperty("Song Name") public String songName;
}

Library lib = mapper.readValue(jsonString, Library.class);

关于java - 如何将以下 json 字符串转换为 java 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10308452/

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