我正在使用org.json.JSONObject并定义了一个从XML转换的json对象。我希望能够将JSON的元素之一转换为单个元素数组,但是尚不清楚如何执行此操作。例如,说我有以下json:

{
    "heading": "value",
    "numbers": [1,2,3],
    "onevalarray": "MyVal"
}


存储在org.json.JSONObject对象中。但是,我希望元素“ onevalarray”是单个元素数组:

{
    "heading": "value",
    "numbers": [1,2,3],
    "onevalarray": ["MyVal"]
}


我将如何完成?

最佳答案

在JSONbject对象中调用方法getJsonArray,并在其中包含JSONArray的JSONObject中指定属性的名称,如下所示:

假设myJsonObject具有以下内容:

{"heading": "value", "numbers": [1,2,3], "onevalarray": "MyVal"}


而且您想要一个带有onevalarray数据的JSONArray。尝试一下:

 JSONArray jsonArray = myJsonObject.getJSONArray("onevalarray");


一旦您在onevalarray JSONArray中拥有onevalarray的值,然后删除原始数组中的onevalarray并以这种方式再次放置它:

myJsonObject.remove("onevalarray");

myJsonObject.put("onevalarray", jsonArray);

10-05 19:00