2016-10-03 9 views
1

現在、私はウェブサイトで作業しており、JSの作業を行っています。私はこのトピックにかなり慣れていますので、私の質問がばかげている場合はどうか言い訳をしてください:)改行なしで削除する r n

私はJSON文字列をいくつか改行していますが、改行のためにJSONオブジェクトに解析できません。私は、改行がまだ含まれている文字列に対して警告を行うときしかし、これは、動作しませんので、私はそれらを削除する必要があり、すでに

stringJSON.replace(/(\r\n|\r|\n)+/, ''); 

を使用して、それを試してみました。

ご意見はありますか?

事前のおかげで、

Wiwi :)

JSON:

[ 
    { 
     "key0": "value 0", 
     "key1": "value 1", 
     "key2": "value 2" 
    }, 
    { 
     "key0": "value 0", 
     "key1": "value 1", 
     "key2": "value 2" 
    } 
] 
+3

* "JSONオブジェクトに解析できません" *有効なJSONを持っている場合は解析できます。振り返ってJSONを「修正」するのではなく、まずは有効なJSONを生成する必要があります。 –

+0

これは#JSONです、間違っていますか?オブジェクト指向[ \t { \t \t "KEY0": "値0"、 \t \t "KEY1": "値1"、 \t \t "KEY2": "値2" \t}、 \t { \t \t "KEY0": "値0"、 \t \t "KEY1": "値1"、 \t \t "KEY2": "値2" \t}] –

+0

JSONは絶対改行を含むことができます。どのように解析しようとしていますが、どのようなエラーがありますか? – Amy

答えて

1

あなたは何を本当にやることを意味すると更新することであればstringJSON変数に置き換えるの結果を割り当てる必要がありますstringJSON変数

stringJSON = stringJSON.replace(/(\r\n|\r|\n)+/g, ''); 

文字列がJavascriptで不変であるため、Replaceは元の文字列を変更しません。

注:正規表現(g)のグローバルフラグは、複数回一致することができます。そのフラグがなければ、最初の改行だけが置き換えられます。

+0

わかりましたが、動作しません。警告は引き続き行ブレークを表示し、コンソールはlbの位置にエラーを通知します。 –

+1

これは、問題を解決するには間違ったアプローチです。まず、有効なJSONを生成する方がより信頼できます。 –

+0

私は最初に最終行が結果に影響してはならないことを認識していませんでした。有効なJSONです。迅速な対応を申し訳ありません。より正確だったDominicの編集も受け入れました。 – jorgonor

関連する問題