将JSON数组添加到JSONObject,而不使用JAVA中JSON数组值的引号
我尝试使用以下代码将JSONArray添加到JSONObject:将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"}]"] 我正在初始化和填
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”}],]请共享整个方法体,以便我可以在本地运行它并返回。