JSON 데이터를 Java 객체로 변환하는 방법

2175 단어 JSONJavajava 대상
첫 번째 방법은 JSON-lib을 사용합니다.두 번째 방법은 JACKSON을 사용합니다.앞의 두 가지 방법은 상대적으로 간단한 Pojo 대상에게는 비교적 쉽다.그러나 여러 층을 끼워 넣은 데이터에 비해 복잡도는 바로 올라간다.세 번째 방법은 GOOGLE Gson으로 해결했습니다.안드로이드를 쓴 사람들은 모두 알고 있다. 이 물건은 구글에서 나온 것이다. 가장 큰 장점은 다른 가방에 의존하지 않는다는 것이다.사용하기에 자연스럽고 값어치 방식이 매우 유연하다.복잡한 JSON 수치는 기본적으로 모두 처리됩니다.Gson에서는 두 가지 개념으로 나뉜다.하나는 Json Object와 Json Array입니다.구체적으로 코드를 보세요

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()); 
        } 

    } 
}

좋은 웹페이지 즐겨찾기