如何为parseJSON使用双引号字符串?

时间:2013-11-22 08:48:24

标签: javascript jquery json

下面的代码工作正常。

$(document).ready(function() {
    var jsonp = '[{"Lang":"jQuery","ID":"1"},{"Lang":"C#","ID":"2"}]';
    var lang = '';
    var obj = $.parseJSON(jsonp);
    $.each(obj, function() {
        lang += this['Lang'] + "<br/>";
    });
    $('span').html(lang);
});

对于字符串“jQuery”,我需要使用“jQu”某事“ery”成为JQu“某事”的文本。但它不起作用。对此有什么解决方案吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要确保转义JSON中的引号,这意味着要进行一些双重转义:

var jsonp = '[{"Lang":"jQu\\\"something\\\"ery","ID":"1"},{"Lang":"C#","ID":"2"}]';

该JavaScript字符串包含此JSON:

[{"Lang":"jQu\"something\"ery","ID":"1"},{"Lang":"C#","ID":"2"}]

如您所见,Lang属性的字符串值包含转义引号。

Live Example | Source