私はJavaでのJSON操作は初めてで、アクセスしてクラス属性に入れる必要があるいくつかのレイヤーを持つ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 というクラスがあるとします。この文字列をどのように解析すればよいでしょうか。これは、それぞれが「attributeOne、attributeTwo、...、attributeFive」を含む n 個のオブジェクトの配列であることを知っていますか?
これが私がこれまでに持っているものです:
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 事前に助けてくれてありがとう!