我从 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/