4

这听起来真的很贫民窟,但我需要在浏览器屏幕上打印一些 Javascript,以便可以将其剪切并粘贴到另一个程序中。

但是,我使用的是JSON.stringify()from json2.js,它没有转义字符,例如引号和换行符 (",\n),它们实际上是 JSON 对象的控制部分,需要转义。

例如,我会得到这样的字符串,这些字符串在导入其他程序时会导致问题:

{
    string_property_01 : "He said "HI"";  // The string terminates after "He said "
}

是否有任何库可以用来转义我需要在这里转义的所有字符?

谢谢!

4

3 回答 3

5

选项#2

var g = {
    sampleFunc2 : function (data) {
        var dataAsText = JSON.stringify(data);
        // w jquery
        $('#debugArea').text(dataAsText);
    }
}

// usage... 
g.sampleFunc2({ id: "4", name: "John Smith" });

在标记中:

<textarea id='debugArea' rows='10' cols='50'></textarea>
于 2011-07-14T01:53:18.630 回答
2

我执行以下操作,这是一个漂亮的 hack。

var g = {
    sampleFunc : function (data) {
        var dataAsText = JSON.stringify(data);
        var response = prompt('you can copy and paste this', dataAsText);
    }
}

// usage... 
g.sampleFunc({ id: "4", name: "John Smith" });

JavaScript 提示...一定会喜欢它。

于 2011-07-14T01:20:15.940 回答
1

你确定这不仅仅是一个浏览器渲染的东西在欺骗你吗?JSON 库将正确转义字符以提供有效的 JSON 字符串。您是否尝试过将 json2.js 的输出与某些浏览器(如 chrome)的原生 JSON.stringify 进行比较?

于 2011-07-14T01:15:43.350 回答