Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSONArray使用额外的转义放置数据_Java_Json_Rest - Fatal编程技术网

Java JSONArray使用额外的转义放置数据

Java JSONArray使用额外的转义放置数据,java,json,rest,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_addres

我正在使用代码:

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();
我得到的输出是:

[{"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"}]

如何实现这一点?

基于@HotLicks注释的更新:


您的JSON无效,因为双引号并不总是在字符串中转义。可能您应该检查创建JSON的方式和库。

您使用的是哪个JSON库?在使用了几个之后,我已经确定了分别为
JSONArray
JSONObject
实现
List
Map
的最大好处,我希望它也能解决您的问题。

如果您这样做,我的输出应该是[“ADMIN”,“UI”]而不是[“ADMIN\,“UI\”,然后字符串将在
[
之后结束。即,第一个双引号。不清楚是否是这种情况。字符串中的其他引号不会转义。如果反斜杠字符仍然存在,则以下引号字符将被视为普通的旧字符,而不是“封闭”引号,其效果与完全没有引号相同(即,无效JSON)@HotLicks是的,你是对的。我错过了。我会更新我的答案,尽管我怀疑有什么事情你没有告诉我们——其他操作混杂在那里。我在这之后进行REST调用。这些代码在execute方法下,由ant目标调用。我的意思是关于JSONArray的构造。above错误这太离谱了,不可能是任何常用JSON工具包的结果。我注意到,您列出的JSON不可能来自上述代码,因为JSON是用“数组”包装的,而您最外层的实体是“对象”。您需要向我们展示真实的代码。为我工作。谢谢。