[英]Escaped double quotes in JSON string causing error while parsing
我正在使用GSON將List(Map(String,String))轉換為json字符串並通過會話將其傳遞給前端。 GSON正在使用/“正確地轉義雙qoutes”,但解析json字符串時問題就出現了。
生成的JSON字符串是
[{"queueList": [{"Name": "Queue\"1\""}, {"Name": "Queue2"}, {"Name": "Queue3"}, {"Name": "Queue4"}]}]
解析時我在chrome中遇到的錯誤是:“UnExpected Number”
我用來解析的代碼如下
$(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);
});
});
下面是上面的代碼與問題http://jsfiddle.net/vinaybvk/qvwL9246/2/的小提琴鏈接
當JSON字符串有\\\\“然后上面的小提琴正常工作正常。
工作轉義的JSON字符串如下:
var menuItemsStr = '[{"queueList": [{"Name": "Queue\\"1\\""}, {"Name": "Queue2"}, {"Name": "Queue3"}, {"Name": "Queue4"}]}]';
我無法在“使行為正常工作之前找到添加\\\\的方法。我在java和javascript中嘗試。
我在javascript中嘗試做的是在評論中的上述小提琴
我在java中嘗試做的是str.replaceAll(“\\”“,”\\\\\\\\\\“));這是用\\\\\\”生成字符串
請讓我知道有沒有辦法糾正這個問題,或者我做錯了什么。
謝謝。
而不是引用字符串然后解析它,在這種情況下你可以這樣做:
var menuItems = <s:property value="#session['jsonFormattedResult']" escapeHtml = "false" />;
這會產生一個有效的對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.