3

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

这是事情对我不起作用的地方,我希望有人可以在这里帮助我。

提前致谢。

4

2 回答 2

8

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

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

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

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

jsbin 示例

于 2013-03-06T14:06:22.560 回答
0

使用org.json库:

这是一个示例代码。

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

或者

var j={"name":"phonetype"};
JSON.stringify(j); // '{"name":"phonetype"}'
于 2013-03-06T14:06:59.647 回答