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

我想将以下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").

我听说过杰克逊,但是由于涉及“ mymusic”列表,我不知道如何使用它来适应我拥有的json字符串,因为它不仅仅是键值对。如果杰克逊不是最好的选择,我该如何用杰克逊完成?


慕的地10843
浏览 391回答 3
3回答

largeQ

为此,无需与GSON一起使用;杰克逊可以做普通的地图/列表:ObjectMapper mapper = new ObjectMapper();Map<String,Object> map = mapper.readValue(json, Map.class);或更方便的JSON树:JsonNode rootNode = mapper.readTree(json);顺便说一句,没有理由为什么您不能实际创建Java类并更方便地执行(IMO):public class Library {&nbsp; @JsonProperty("libraryname")&nbsp; public String name;&nbsp; @JsonProperty("mymusic")&nbsp; public List<Song> songs;}public class Song {&nbsp; @JsonProperty("Artist Name") public String artistName;&nbsp; @JsonProperty("Song Name") public String songName;}Library lib = mapper.readValue(jsonString, Library.class);

米脂

Gson gson = new Gson();JsonParser parser = new JsonParser();JsonObject object = (JsonObject) parser.parse(response);// response will be the json StringYourPojo emp = gson.fromJson(object, YourPojo.class);&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java