将JSON打印到屏幕以便与剪切和粘贴一起使用

时间:2011-07-14 01:08:57

标签: javascript json escaping stringify

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

我正在使用来自JSON.stringify()的{​​{1}},但是它不是转义字符,例如引号和新行(“,\ n \ n),它们实际上是JSON对象的控制部分,需要是逃脱了。

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

json2.js

我是否可以使用任何库来逃避我需要逃离的所有角色?

谢谢!

3 个答案:

答案 0 :(得分:4)

选项#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>

答案 1 :(得分:2)

我做了以下,这是一个美丽的黑客。

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提示......必须爱它。

答案 2 :(得分:1)

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