2014-12-23 5 views
-1

입력 한 내용이 JSON 데이터입니다. 나는 개체의 목록 (PerfLevel 클래스)에이 데이터를 변환 할 필요가이 JSON 데이터를 Java 객체 목록으로 변환하십시오.

[ 
    { 
     "shortName": "av", 
     "longName": "average", 
     "Color": "black", 
     "fromValue": "45", 
     "toValue": "59" 
    }, 
    { 
     "shortName": "g", 
     "longName": "good", 
     "Color": "red", 
     "fromValue": "35", 
     "toValue": "68" 
    } 
] 

: 것 같습니다. 어떻게해야합니까?

답변

0

그냥 org.json. * 패키지를 사용하십시오.

http://www.json.org/javadoc/org/json/package-summary.html에서 찾을 수 있습니다. JSONArray 및 JSONObject가 가장 흥미로운 코드 조각입니다.

users : [{ 
    "shortname" : "g", 
    "moreAttributes" : "" 
}, { 
    "shortname" : "h", 
    "moreAttributes" : "" 
}] 

어레이 외부 객체 정보를 추가 할 수 있습니다이 배열 구조를 사용 :

또한 JSON 객체는 정말 잘처럼, 먼저 객체의 배열을해야한다, 형식의되지 않습니다. 예를 들어 errormessage.

지금 당신은 몇 가지 간단한 방법으로 JSON 파일에 액세스 할 수 있습니다

JSONObject jObj = //the json file you loaded 
JSONArray jArr = jObj.getArray("users"); 
JSONObject jUser; 


//at this point you can iterate over your array and get information via: 
jUser = jArr.getJSONObject(1) 

//now you can get all the information from the jUser object 
//e.g. 
jUser.getString("shortname"); 
+0

귀하의 정보를 보내 주셔서 감사합니다 ... – kpr

1

사용 Jackson 또는 GSONList 또는 예상되는 유형의 배열로 JSON을 읽을 수 있습니다. 잭슨으로 :

JSON 트리 ( JsonNode)으로 읽기와 같은 당신이 그것을 할 수있는 많은 다른 방법이 있습니다

ObjectMapper mapper = new ObjectMapper(); // reuse if multiple calls MyPOJO[] pojos = mapper.readValue(jsonSource, MyPojo[].class); // with `List`, need to use `TypeReference` // or, if you do not have matching MyPOJO type: List<Object> pojosAsMaps = mapper.readValue(jsonSource, List.class);

. 이 모든 것은 구조를 Java 클래스로 쉽게 모델링 할 수 있는지 여부에 달려 있습니다 (가장 편리한 경우).

+0

tahnk 회신을 위해 – kpr

관련 문제