我是新来的Java中的JSON操作,我有一个JSON数组形式的字符串,有几个层需要访问并放入类属性中。例如,这里是我的JSON对象:JSON数组字符串到Java中的JSONArray对象
{"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的具有这些属性,我如何解析这个字符串,知道这是N个对象的数组,每个包含“attributeOne,attributeTwo ,...,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