首页 > 解决方案 > JsonObject 默认为 json 字符串添加反斜杠

问题描述

我有添加到 JsonArray 的项目列表并将此 JsonArray 转换为字符串并将此字符串 JsonObject 添加为属性。但是,当我得到回应时,是反斜杠。

jsonObject.addProperty("name",rsmd.getColumnLabel(1));
JsonArray itemJsonArray = new JsonArray();
JsonArray jsonArray = new JsonArray();

while (resultSet.next()) {
   itemJsonArray.add(resultSet.getString(1));
}

jsonObject.addProperty("items",itemJsonArray.toString());         
jsonArray.add(jsonObject);

输出:

{
    "name": "username",
    "items": [\"Mohan\",\"Mohan\",\"Mohan\"]             
}

标签: javajson

解决方案


基本上你的问题是你正在做itemJsonArray.toString(),而且你需要使用add()而不是addProperty(),所以:

代替

jsonObject.addProperty("items",itemJsonArray.toString());

做这个:

jsonObject.add("items",itemJsonArray);

推荐阅读