java - JSON为什么要加斜杠

标签 java mysql json servlets

我从 SQL 查询创建一个 Json,如下所示:

while(result.next())
   items.add("sourcename"+"\""+":"+"\""+result.getString("name"));

我以这种方式检索它,并将其更改为 JSONObject :

SqlConnector sqlConnector = new SqlConnector(); 
    ArrayList<String> items = sqlConnector.getSourceType(sqlConnector.getId("users", "username", username)); 
    JSONObject toSendBack = new JSONObject(); 
    JSONArray dataArray = new JSONArray(items);
    toSendBack.put("data", dataArray); 
    toSendBack.put("success", true); 
    response.getWriter().print(toSendBack.toString());
    response.setStatus(HttpServletResponse.SC_OK);

我遇到一些问题:

toSendBack.put("data", dataArray);

我收到的 JSON 是这样的:

{"data":["sourcename\":\"Polo","sourcename\":\"BMW"],"success":true}

为什么? 我怎样才能删除这些斜杠?

最佳答案

您手动创建的 JSON 行似乎不正确。我怀疑应该是:

items.add("\"sourcename\":\""+result.getString("name")+"\"");

尽管如果“name”中有双引号,事情就会出错。最好的选择是使用适当的 JSON 库来自己处理所有这些。

关于java - JSON为什么要加斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24779441/

相关文章:

java callable语句帮助使用包过程

java - 替换扫描仪字符串中的字符

php - 带有双项的Mysql查询和foreach查询

javascript - 使用证书 RSA Javascript 验证签名

javascript - svg 到 json.js |我的文件去哪儿了?

java - 如何创建通用分页拆分器?

mysql - 如何从表中获取基于月份和年份的记录?

mysql - java.sql.SQLException : Access denied for user 'root' @'127.0.0.1' (using password: YES)

javascript - 通过 3 个 json 文件创建嵌套菜单

java - 如何读取 .7z 扩展文件中的文件内容