我将使用GSON将List(Map(String,String))转换为JSON字符串,并通过会话将其传递给前端。 GSON会适当地将双引号转义为 /",但问题出现在解析JSON字符串时。
生成的JSON字符串为:
以下是包含问题代码的fiddle链接: http://jsfiddle.net/vinaybvk/qvwL9246/2/ 当JSON字符串有\\"时,上面的fiddle按预期正常工作。 下面是有效的转义JSON字符串:
生成的JSON字符串为:
[{"queueList": [{"Name": "Queue\"1\""}, {"Name": "Queue2"}, {"Name": "Queue3"}, {"Name": "Queue4"}]}]
我在使用Chrome解析时遇到的错误是:"意外的数字"
我正在使用以下代码进行解析:
$(document).ready(function () {
var menuItemsStr = '[{"queueList": [{"Name": "Queue\"1\""}, {"Name": "Queue2"}, {"Name": "Queue3"}, {"Name": "Queue4"}]}]';
var menuItems = $.parseJSON(menuItemsStr);
$.each(menuItems[0].queueList, function (idx, obj) {
var listItemHTML = $("#listItem").clone().html();
listItemHTML = listItemHTML.replace(/\@QN/g, obj.Name);
$("#list").append(listItemHTML);
});
});
以下是包含问题代码的fiddle链接: http://jsfiddle.net/vinaybvk/qvwL9246/2/ 当JSON字符串有\\"时,上面的fiddle按预期正常工作。 下面是有效的转义JSON字符串:
var menuItemsStr = '[{"queueList": [{"Name": "Queue\\"1\\""}, {"Name": "Queue2"}, {"Name": "Queue3"}, {"Name": "Queue4"}]}]';
我无法找到在Java和JavaScript中添加\\来使行为正常的方法。
我正在尝试JavaScript中上面评论中的内容,Java中我正在尝试str.replaceAll("\"", "\\\\\")); 这将生成带有\\\"的字符串。
请告诉我是否有任何方法可以纠正这个问题或者我做错了什么。
谢谢。
JSON.parse()
呢?这就是我的意思 - Pointy