Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.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
将JSON数组添加到JSONObject,而不使用JAVA中JSON数组值的引号_Java_Json - Fatal编程技术网

将JSON数组添加到JSONObject,而不使用JAVA中JSON数组值的引号

将JSON数组添加到JSONObject,而不使用JAVA中JSON数组值的引号,java,json,Java,Json,我尝试使用以下代码将JSONArray添加到JSONObject: defObj.put("locArr",(Object)locArr); 但这会产生以下JSON格式: ["locArr":"[{"longitude":35,"latitude":39,"ip":"81.212.204.150"}, {"longitude":-122.1781,"latitude":37.459,"ip":"173.252.110.27"}]"] 我正在初始化和填

我尝试使用以下代码将JSONArray添加到JSONObject:

   defObj.put("locArr",(Object)locArr);
但这会产生以下JSON格式:

   ["locArr":"[{"longitude":35,"latitude":39,"ip":"81.212.204.150"},
               {"longitude":-122.1781,"latitude":37.459,"ip":"173.252.110.27"}]"]
我正在初始化和填充locArr,如下所示:

   JSONObject locObj = new JSONObject();
   JSONArray locArr = new JSONArray();
   locObj.put("ip", ip);
   locObj.put("latitude", latitude);
   locObj.put("longitude", longitude);
       locArr.put(locObj)
正如您所看到的,JSONArray的值用双引号括起来。因此,当我试图解析这个JSON时,由于引号的缘故,我遇到了一个意外的字符错误

我希望输出如下所示:

   ["locArr":[{"longitude":35,"latitude":39,"ip":"81.212.204.150"},
               {"longitude":-122.1781,"latitude":37.459,"ip":"173.252.110.27"}]]

有人能告诉我如何添加JSONArray的值而不使用双引号括起来吗?

尝试删除对象强制转换:

defObj.put("locArr", locArr);

希望这有帮助。

我认为您需要一个封闭的JSON数组:

JSONObject locObj = new JSONObject();
locObj.put("ip", ip);
locObj.put("latitude", latitude);
locObj.put("longitude", longitude);

// Inner array
JSONArray locArr = new JSONArray(); 
locArr.put("locArr", locObj);

// Parent array
JSONArray parentArr = new JSONArray();
parentArray.put(locArr);

你能告诉我们如何初始化和填充locArr吗?@AndrewShepherd我已经更新了这个问题。请检查您试图在哪里解析JSON?在javascript?@pramod.nikam.dev中,我试图在JAVAShare中解析它,以了解您希望输出的样子。你的意思是要删除“locArr”中的引号吗?我尝试过这种方法,结果得到了这种格式:“locArr”:[“{”经度:35,“纬度:39,“ip”:“81.212.204.150”},{”经度:35,“纬度”:39,“ip”:“212.156.101.117”}],]请共享整个方法体,以便我可以在本地运行它并返回。