JSON 문자열을 Java 객체로 변환하기 위해 Jackson은 유연성으로 널리 알려진 오픈 소스 Java 라이브러리입니다. 이 경우 Jackson을 사용하여 목표를 달성하는 방법을 살펴보겠습니다.
제공된 JSON 문자열에는 "libraryname"에 대한 키-값 쌍과 추가 내용을 포함하는 "mymusic"의 중첩 목록이 있는 맵과 같은 구조가 포함되어 있습니다. 키-값 쌍.
<code class="java">ObjectMapper mapper = new ObjectMapper(); Map<String, Object> map = mapper.readValue(jsonString, Map.class);</code>
이 접근 방식은 JSON을 키를 사용하여 값에 액세스할 수 있는 간단한 맵으로 처리합니다. as:
<code class="java">System.out.println(map.get("libraryname")); List<Map<String, Object>> songsList = (List<Map<String, Object>>) map.get("mymusic"); System.out.println(songsList.get(0).get("Artist Name"));</code>
<code class="java">JsonNode rootNode = mapper.readTree(jsonString);</code>
JSON 트리 접근 방식을 사용하면 JSON 구조에 보다 동적으로 액세스할 수 있습니다.
<code class="java">System.out.println(rootNode.get("libraryname").asText()); JsonNode myMusicArray = rootNode.get("mymusic"); System.out.println(myMusicArray.get(0).get("Artist Name").asText());</code>
또는 Java POJO(Plain Old Java Objects)를 정의하여 JSON 구조를 나타낼 수 있습니다.
<code class="java">public class Library { @JsonProperty("libraryname") private String name; @JsonProperty("mymusic") private List<Song> songs; } public class Song { @JsonProperty("Artist Name") private String artistName; @JsonProperty("Song Name") private String songName; } ObjectMapper mapper = new ObjectMapper(); Library library = mapper.readValue(jsonString, Library.class);</code>
이 방법을 사용하면 보다 객체 지향적인 방식:
<code class="java">System.out.println(library.getName()); List<Song> songs = library.getSongs(); System.out.println(songs.get(0).getArtistName());</code>
위 내용은 Jackson을 사용하여 JSON 문자열을 Java 개체로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!