Javascript 将JSON对象转换为字符串

Javascript 将JSON对象转换为字符串,javascript,Javascript,您好,我想将json对象转换为带有特殊转义字符的字符串 下面是一个例子 { "xtype": "window", "height": 250, "width": 400, "bodyPadding": "20 0 0 20", "title": "Configuration", "modal": true, "items": [ { "xtype": "textfield", "fieldLabel": "Deploy Path" }, {

您好,我想将json对象转换为带有特殊转义字符的字符串

下面是一个例子

{
"xtype": "window",
"height": 250,
"width": 400,
"bodyPadding": "20 0 0 20",
"title": "Configuration",
"modal": true,
"items": [
    {
        "xtype": "textfield",
        "fieldLabel": "Deploy Path"
    },
    {
        "xtype": "textfield",
        "fieldLabel": "Save Path"
    },
    {
        "xtype": "button",
        "margin": "20 0 0 100",
        "text": "Save"
    }
]
}
以上反对

{\n    \"xtype\": \"window\",\n    \"height\": 250,\n    \"width\": 400,\n    \"bodyPadding\": \"20 0 0 20\",\n    \"title\": \"Configuration\",\n    \"modal\": true,\n    \"items\": [\n        {\n            \"xtype\": \"textfield\",\n            \"fieldLabel\": \"Deploy Path\"\n        },\n        {\n            \"xtype\": \"textfield\",\n            \"fieldLabel\": \"Save Path\"\n        },\n        {\n            \"xtype\": \"button\",\n            \"margin\": \"20 0 0 100\",\n            \"text\": \"Save\"\n        }\n    ]\n}
有人能帮我吗

提前谢谢

我的JSON包含一些添加的插件,因为stringify函数无法工作。比如说

plugins: [
Ext.create('Ext.grid.plugin.CellEditing', {
ptype: 'cellediting'
})
]
这对我来说是不起作用的,我希望有人能在这里帮助我


提前谢谢。

我不知道你为什么想要这个。目标是构建可以在程序中编写的字符串文本吗

但是,无论如何,这似乎可以做到:

var str = JSON.stringify(obj, null, '\n')
          .replace(/"/g, '\\"')
          .replace(/\n/g, '    ')
          .replace(/(?:[ ]{4}((?:[ ]{4})*))/g, '\\n$1');
请注意,您必须从一个简单的javascript对象开始,而不是一个“JSON对象”(与数据交换格式一样,JSON对象没有任何意义)

使用库:

下面是一个示例代码

JSONObject jsonObj = new JSONObject("{\"phonetype\":\"N95\",\"cat\":\"WP\"}");


你试过什么?->JSON.parse???->这不是同一个问题。OP请求转义某些字符。停止投票以结束此问题。另外,
JSON.parse
完全错误,
stringify
将是正确的。您是否试图构建一个字符串文本以放入另一个程序?再一次,这不是重复。学会读人!我已经改变了解决方案,我相信,更接近OP的目标。希望你不介意。@fireeyedboy不,我真的不介意。你可能是对的(很难确定OP没有响应)。@destroy:是的,这里的目标是在另一个程序中使用字符串。我已经使用JSON.stringify将JSON对象转换为字符串,然后将转换后的字符串传递给replace函数。但我不确定是否可以使用正则表达式。我会用这个回复。谢谢
var j={"name":"phonetype"};
JSON.stringify(j); // '{"name":"phonetype"}'