使用JSONObject在Java中为以下结构创建嵌套的JSON对象

我想使用JSONObject和JSONArray构建类似于遵循Java中的结构的JSON对象。

我已经遍历了堆栈溢出中的各种帖子,建议使用诸如push,put等无法识别JSONArray的方法。请帮忙。

{

"name": "sample",

"def": [

{

"setId": 1,

"setDef": [

{

"name": "ABC",

"type": "STRING"

},

{

"name": "XYZ",

"type": "STRING"

}

]

},

{

"setId": 2,

"setDef": [

{

"name": "abc",

"type": "STRING"

},

{

"name": "xyz",

"type": "STRING"

}

]

}

]

}

回答:

与进口org.json.JSONArrayorg.json.JSONObject

JSONObject object = new JSONObject();

object.put("name", "sample");

JSONArray array = new JSONArray();

JSONObject arrayElementOne = new JSONObject();

arrayElementOne.put("setId", 1);

JSONArray arrayElementOneArray = new JSONArray();

JSONObject arrayElementOneArrayElementOne = new JSONObject();

arrayElementOneArrayElementOne.put("name", "ABC");

arrayElementOneArrayElementOne.put("type", "STRING");

JSONObject arrayElementOneArrayElementTwo = new JSONObject();

arrayElementOneArrayElementTwo.put("name", "XYZ");

arrayElementOneArrayElementTwo.put("type", "STRING");

arrayElementOneArray.put(arrayElementOneArrayElementOne);

arrayElementOneArray.put(arrayElementOneArrayElementTwo);

arrayElementOne.put("setDef", arrayElementOneArray);

array.put(arrayElementOne);

object.put("def", array);

为了清楚起见,我没有包括第一个数组的第二个元素。希望你明白了。

编辑:

先前的答案是假设您正在使用org.json.JSONObjectorg.json.JSONArray

对于net.sf.json.JSONObjectnet.sf.json.JSONArray

JSONObject object = new JSONObject();

object.element("name", "sample");

JSONArray array = new JSONArray();

JSONObject arrayElementOne = new JSONObject();

arrayElementOne.element("setId", 1);

JSONArray arrayElementOneArray = new JSONArray();

JSONObject arrayElementOneArrayElementOne = new JSONObject();

arrayElementOneArrayElementOne.element("name", "ABC");

arrayElementOneArrayElementOne.element("type", "STRING");

JSONObject arrayElementOneArrayElementTwo = new JSONObject();

arrayElementOneArrayElementTwo.element("name", "XYZ");

arrayElementOneArrayElementTwo.element("type", "STRING");

arrayElementOneArray.add(arrayElementOneArrayElementOne);

arrayElementOneArray.add(arrayElementOneArrayElementTwo);

arrayElementOne.element("setDef", arrayElementOneArray);

object.element("def", array);

基本上是相同的,在JSONObject中将方法’put’替换为’element’,在JSONArray中将方法’put’替换为’add’。

以上是 使用JSONObject在Java中为以下结构创建嵌套的JSON对象 的全部内容, 来源链接: utcz.com/qa/400179.html

回到顶部