英文:
How to stop JSONObject to convert my arrayList [3,4] in string "[3,4]"
问题
这是代码部分:
JSONObject myJson = new JSONObject();
try {
List<Integer> myLists = new ArrayList<>();
myLists.add(4);
myLists.add(10);
myJson.put("myLists", myLists);
} catch (JSONException e) {
e.printStackTrace();
}
Log.w("myJson", myJson);
这是控制台输出:
"myJson":"[4, 10]";
这是我想要的控制台输出:
"myJson":[4, 10] (注意数组周围没有引号 "")
英文:
1)This is the Code:
JSONObject myJson=new JSONObject();
try {
List<Integer> myLists = new ArrayList<>();
myLists.add(4);
myLists.add(10);
myJson.put("myLists",myLists);
} catch (JSONException e) {
e.printStackTrace();
}
Log.w("myJson", myJson);
2)This is the output in the console:
"myJson":"[4, 10]"
2)This is what I want in the console:
"myJson":[4, 10] (note the absence of quote "" around the array)
答案1
得分: 2
只需使用:
myJson.put("myLists", new JSONArray(myLists));
否则,如果您传递ArrayList或List,这将被识别为Object,而不是类似Array的内容,因此将使用toString()方法将其放入JSON中。
英文:
Just use:
myJson.put("myLists", new JSONArray(myLists));
Otherwise, if you pass ArrayList, or List this will be recognized as Object, not as something like Array, so toString() method will be used for putting it in JSON.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论