저는 Java에서 JSON 조작을 처음 사용하고 클래스 속성에 액세스하고 입력해야하는 여러 레이어가있는 JSON 배열 형태의 문자열을가집니다. 내가이 n 개의 Object의 배열, 각 포함 "attributeOne, attributeTwo입니다 알고,이 문자열을 구문 분석하는 방법,자바에서 JSON 배열 객체에 대한 JSON 배열 문자열
{"JsonObject" : [{"attributeOne":"valueOne",
"attributeTwo":"valueTwo",
"attributeThree":[{"subAttributeOne":"subValueOne",
"subAttributeTwo":"subValueTwo"}],
"attributeFour":[{"subAttributeOne":"subValueThree",
"subAttributeTwo":"subValueFour"}],
"attributeFive":"valueThree"},
{"attributeOne":"valueFour",
"attributeTwo":"valueFive",
"attributeThree":[{"subAttributeOne":"subValueFive",
"subAttributeTwo":"subValueSix"}],
"attributeFour":[{"subAttributeOne":"subValueSeven",
"subAttributeTwo":"subValueEight"}],
"attributeFive":"valueSix"}]}
나는 이러한 특성을 가진 클래스라는 MyClass에 있다고 가정하자 : 예를 들어, 여기 내 JSON 객체의 , ..., attributeFive "?
는 여기에 지금까지 무엇을 : 당신은 아마 말할 수
public MyClass[] jsonToJava (String jsonObj)
{
ArrayList<MyClass> myClassArray = new ArrayList<MyClass>();
//Somehow create a JSONArray from my jsonObj String
JSONArray jsonArr = new JSONArray(jsonObj); //Don't know if this would be correct
for(int i=0; i<jsonArr.length; i++){
MyClass myClassObject = new MyClass();
myClassObject.setAttributeOne = jsonArr[i].getString("attributeOne");
// How can I access the subAttributeOne and Two under attributeThree and Four?
// add all other values to myClassObject
myClassArray.add(myClassObject);
}
return myClassArray;
}
, 내가 프로그래밍에 비교적 새로운 해요 : P 감사를 사전에 도움을!
왜 'GSON'을 사용하지 않습니까? 그것의 간단하고 빠른. 모든 클래스를 String으로 변환하면됩니다. –
잭슨은 gson보다 빠르며 사용하기 쉽습니다. – digitaljoel