JSONArray将数据放入额外的转义

时间:2014-07-17 15:41:16

标签: java json rest

我正在使用代码:

JSONArray jsonArray = new JSONArray();
jsonArray.put(1, "ADMIN");
jsonArray.put(2, "DATA");
JSONObject jsonObj = new JSONObject();
jsonObj.put("slice_roles", jsonArray);
jsonObj.put("admin_slice", "10.143.229.238");
jsonObj.put("slice_address", "10.143.229.238");
String requestJson = jsonObj.toString();

我得到的输出requestJson是:

[{"slice_roles":[\"ADMIN\",\"UI\"],"admin_slice":"10.143.229.238","slice_address":"10.143.229.238"}]

我想得到:

[{"slice_roles":["ADMIN","UI"],"admin_slice":"10.143.229.238","slice_address":"10.143.229.238"}]

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

您使用的是哪个JSON库?在使用了几个之后,我已经确定了FastJSON,这对于分别为ListMap实施JSONArrayJSONObject带来了最大的好处,而且我期待它也能解决你的问题。

答案 1 :(得分:0)

根据@HotLicks评论更新

您的JSON无效,因为双引号并不总是在您的String中转义。也许你应该检查创建JSON的方式和库。