다음 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 문자열에 맞게 사용하는 방법을 잘 모르겠습니다. Jackson과 함께 이것을 어떻게 수행 할 수 있습니까? 아니면 Jackson이 최선이 아닌 경우이를 수행 할 수있는 더 쉬운 방법이 있습니까?
이를 위해 GSON과 함께 갈 필요가 없습니다. Jackson은 일반지도 / 목록 중 하나를 수행 할 수 있습니다.
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);
Google의 Gson 확인 : http://code.google.com/p/google-gson/
웹 사이트에서 :
Gson gson = new Gson(); // Or use new GsonBuilder().create();
MyType target2 = gson.fromJson(json, MyType.class); // deserializes json into target2
json 문자열의 모든 필드로 MyType 클래스 (물론 이름이 변경됨)를 만들어야합니다. 배열을 수행 할 때 조금 더 복잡해질 수 있습니다. 모든 구문 분석을 수동으로 (또한 매우 쉽습니다) 선호하는 경우 http://www.json.org/를 확인 하고 Json 용 Java 소스를 다운로드하십시오. 파서 개체.
Gson gson = new Gson();
JsonParser parser = new JsonParser();
JsonObject object = (JsonObject) parser.parse(response);// response will be the json String
YourPojo emp = gson.fromJson(object, YourPojo.class);
Gson도 좋습니다 : http://code.google.com/p/google-gson/
"Gson은 Java 객체를 JSON 표현으로 변환하는 데 사용할 수있는 Java 라이브러리입니다. 또한 JSON 문자열을 동등한 Java 객체로 변환하는 데 사용할 수 있습니다. Gson은 기존 객체를 포함하여 임의의 Java 객체와 함께 작업 할 수 있습니다. 소스 코드가 없습니다. "
Check the API examples: https://sites.google.com/site/gson/gson-user-guide#TOC-Overview More examples: http://www.mkyong.com/java/how-do-convert-java-object-to-from-json-format-gson-api/
ReferenceURL : https://stackoverflow.com/questions/10308452/how-to-convert-the-following-json-string-to-java-object
'developer tip' 카테고리의 다른 글
IIS URL 재 작성 및 Web.config (0) | 2021.01.10 |
---|---|
MVC 3 Razor에서 활성 페이지 링크를 얻는 더 나은 방법 (0) | 2021.01.10 |
HTML5 UI 프레임 워크 (0) | 2021.01.10 |
요청 객체를 수정하는 django (0) | 2021.01.10 |
selectize.js 입력 값을 설정하는 방법은 무엇입니까? (0) | 2021.01.10 |