将JSON对象转换为字符串

时间:2013-03-06 14:02:04

标签: javascript

您好我想将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'
})
]

这是事情不适合我的事情,我希望有人可以帮助我。

提前致谢。

2 个答案:

答案 0 :(得分:8)

我不确定你为什么会这样想。目标是构建一个可以在程序中编写的字符串文字吗?

但是,无论如何,这似乎是这样做的:

var str = JSON.stringify(obj, null, '\n')
          .replace(/"/g, '\\"')
          .replace(/\n/g, '    ')
          .replace(/(?:[ ]{4}((?:[ ]{4})*))/g, '\\n$1');

请注意,您必须开始的不是“JSON对象”(这意味着JSON只是一种数据交换格式),而是一个普通的JavaScript对象。

jsbin example

答案 1 :(得分:0)

使用org.json库:

这是一个示例代码。

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

var j={"name":"phonetype"};
JSON.stringify(j); // '{"name":"phonetype"}'