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ライブラリの使用:

ここに 1 つのサンプル コードがあります。

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

また

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