첫 번째 방법은 JSON-lib를 사용하는 것입니다.
두 번째 방법은 JACKSON을 사용하는 것입니다.
처음 두 가지 방법은 상대적으로 간단한 Pojo 객체의 경우 상대적으로 쉽습니다. 그러나 여러 계층의 데이터를 중첩하는 것과 비교하면 복잡성이 직접적으로 증가합니다.
세 번째 방법은 GOOGLE의 Gson을 활용하여 문제를 해결하는 것입니다. Android에 대해 글을 써본 사람이라면 이 제품이 Google에서 제작되었다는 사실을 알고 있을 것입니다. 가장 큰 장점은 기본적으로 다른 패키지에 의존하지 않는다는 것입니다. 사용하기가 자연스럽게 재미있고, 값 설정 방법이 매우 유연합니다. 복잡한 JSON 값의 경우 기본적으로 모든 작업이 완료됩니다.
Gson에는 두 가지 개념이 있습니다. 하나는 JsonObject와 JsonArray입니다. 자세한 내용은 코드를 참조하세요
package com.mycompany.gsondata; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonParser; /** * Hello world! * */ public class App { public static void main(String[] args) { String jsonData = "{\"questionnaireID\": \"QNTest\",\"answerResults\":[{\"questionID\":\"QSTest01\",\"anserContent\":\"cfb7f441-9086-11e3-8cf8-000c2945c442\"},{\"questionID\":\"QSTest01\",\"anserContent\":\"cfb7f441-9086-11e3-8cf8-000c2945c442\"},{\"questionID\":\"QSTest03\",\"anserContent\":\"6b3a9cce-9087-11e3-8cf8-000c2945c442,a086331d-9087-11e3-8cf8-000c2945c442\"},{\"questionID\":\"QSTest01\",\"anserContent\":\"cfb7f441-9086-11e3-8cf8-000c2945c442\"},{\"questionID\":\"QSTest05\",\"anserContent\":\"test测试文字填空\"},{\"questionID\":\"QSTest06\",\"anserContent\":\"3\"},{\"questionID\":\"QSTest07\",\"anserContent\":\"2.2\"}]}"; JsonObject root = new JsonParser().parse(jsonData).getAsJsonObject(); System.out.println(root.get("questionnaireID").toString());//直接取的根节点值 JsonArray AnswerList = root.getAsJsonArray("answerResults");//取数组 for (int i = 0; i < AnswerList.size(); i++) { System.out.println(AnswerList.get(i).getAsJsonObject().get("questionID").toString()); System.out.println(AnswerList.get(i).getAsJsonObject().get("anserContent").toString()); } } }
JSON 데이터를 Java 객체로 변환하는 방법에 대한 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트에 주목하세요!