将JSON打印到屏幕以用于剪切和粘贴

Print JSON to screen for use with cut and paste

本文关键字:用于 JSON 打印 屏幕      更新时间:2023-09-26

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

我使用json2.js中的JSON.stringify(),但是,它不转义引号和新行(",'n)等字符,这些字符实际上是JSON对象的控制部分,需要转义。

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

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

有什么库可以用来转义这里需要转义的所有字符吗?

谢谢!

选项#2

var g = {
    sampleFunc2 : function (data) {
        var dataAsText = JSON.stringify(data);
        // w jquery
        $('#debugArea').text(dataAsText);
    }
}
// usage... 
g.sampleFunc2({ id: "4", name: "John Smith" });

In markup:

<textarea id='debugArea' rows='10' cols='50'></textarea>

我做了下面的事情,这是一个漂亮的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提示…一定会喜欢的。

你确定这不是浏览器渲染的问题吗?JSON库将正确转义字符,以给您一个有效的JSON字符串。您是否试过将json2.js的输出与本机JSON进行比较?Stringify一些浏览器(如chrome)有?