2017-09-14 138 views
0

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

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

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

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

我该如何实现这一目标?

回答

1

调用方法getJsonArray在JSONbject对象,并指定的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); 
+0

但还不是全部这要做的是检索“onevalarray”值作为数组?我希望将该值替换为“myJsonObject”中的数组,使其看起来像:{“heading”:“value”,“numbers”:[1,2,3],“onevalarray”:[“MyVal”]} – GregH

+0

我不明白先生,你可以请你展示一个你期望输出的例子吗? –

+0

“我希望这个值被替换为”myJsonObject“中的数组,但实际上它是myJSONObject中的一个数组。 –

相关问题