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

Java 如何将JSONObject的元素转换为单个元素数组?,java,json,org.json,Java,Json,Org.json,我使用的是org.json.JSONObject,并定义了一个从XML转换而来的json对象。我希望能够将JSON的一个元素转换为单个元素数组,但不清楚如何实现。例如,假设我有以下json: { "heading": "value", "numbers": [1,2,3], "onevalarray": "MyVal" } 存储在org.json.JSONObject对象中。但是,我希望元素“onevalarray”是一个单元素数组: { "heading":

我使用的是
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"]
}

如何实现这一点?

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

假设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);

但这不就是要把“onevalarray”值作为数组检索吗?我想用“myJsonObject”中的数组替换该值,使其看起来像:{“heading”:“value”,“numbers”:[1,2,3],“onevalarray”:[“MyVal”]}我不明白,先生,你能给出一个预期输出的示例吗?我想用“myJsonObject”中的数组替换该值但如果它实际上是myJSONObject中的一个数组。请参阅输入和输出的原始帖子以及上面我的评论,以获取所需输出的示例。无法执行“getJSONArray”(“onevalarray”),因为它不是数组。问题是如何将对象转换为数组?