如何将 JSONObject 的元素转换为单个元素数组?

How would I convert an element of a JSONObject to a single element array?

我正在使用 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);