小编Gru*_*ffy的帖子

JSON.stringify /使用引号解析奇数

我在解析一些带引号的JSON时遇到了一个奇怪的小问题.我使用本机JSON.stringify和JSON.parse函数来执行此操作.如果我将一个带有引号的对象的字符串字符串化,它们就像人们期望的那样被转义.如果我然后将它解析回一个对象,它再次正常工作.

我在stringify中出现问题,然后将对象打印到页面,然后解析生成的字符串.如果我尝试这样做,解析函数将失败,因为stringify只在每个违规引号之前放置了单斜杠.

我需要实现这一点的原因是我正在开发一个应用程序,它将存储在数据库中的内容动态加载为JSON字符串.某些点上的字符串需要打印到页面某处,以便javascript可以找到它们并根据其内容构建页面.我需要一些强大的方法将对象传入和传出字符串,如果用户输入错误的字符,这些字符串不会失败!

我可以通过使用替换调用在代码中插入额外的斜杠来解决这个问题,但我想知道是否有更好的方法来处理这个问题?

我已经整理了几个jsfiddles来说明我想要描述的内容:

http://jsfiddle.net/qwUAJ/(Stringify然后解析)

var ob = {};
ob["number1"] = 'Number "1"';
ob["number2"] = 'Number 2';
ob["number3"] = 'Number 3';

var string = JSON.stringify(ob);
var reOb = JSON.parse('{"number1":"Number \"1\"","number2":"Number 2","number3":"Number 3"}');

$('div').html(string);
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/a3gBf/4/(Stringify,然后打印,然后再解析)

// Make an object
var ob = {};
ob["number1"] = 'Number "1"';
ob["number2"] = 'Number 2';
ob["number3"] = 'Number 3';

// Turn the object into a JSON string
var string = JSON.stringify(ob);

// Printing the string outputs
// {"number1":"Number \"1\"","number2":"Number 2","number3":"Number 3"}
$('.stringified').html(string); …
Run Code Online (Sandbox Code Playgroud)

javascript string jquery json

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×1

jquery ×1

json ×1

string ×1