2016-08-05 7 views
1

文字列プロパティを含む大きな配列のオブジェクトがあります。 jsonのファイルにデータという名前のオブジェクトを保存すると、文字列プロパティには、"getElementsByTagName(\"track\")"のような改行の単語が付きました。私はそのようになる必要があります:"getElementsByTagName("track")"\なし。javascriptオブジェクトを改行を含むファイルに保存します。

私のコード:

 var jsonobj = JSON.stringify(data,null,'\t'); 
     fs.write('final8.json', jsonobj, 'w'); 
+4

をあなたは 'できないため、『置き換えることができgetElementsByTagNameのは(』トラック『)は、』'有効なJSONではありません。 – georg

+0

をだから私はgetElementsByTagNameのようにそれを印刷しない方法(」トラック")? –

+0

@TiagoCastro代わりに一重引用符を使用することはできますか? –

答えて

0

あなたは、単一引用符を使用してエスケープを避けることができます。たとえばあなたが「カスタム・シリアライザを使用して 'で。

var data = {test: 'getElementByTagName("track")'} 

JSON.stringify(data, function(key,value) { 
    if(typeof value === 'string') { 
    return value.replace(/"/g, '\'') 
    } 
    return value 
}, '\t'); 

"{ 
    "test": "getElementByTagName('track')" 
}" 
関連する問題