2017-12-15 19 views
-3

JSONファイルをデータで動的に生成しました。データの一部が無効jsonのエラーを生成します。文字列の中央の空き領域をトリミングする方法は?

SyntaxError: JSON.parse: bad control character in string literal at line 34447 column 24 of the JSON data 

は、私が問題に位置しており、これらのいくつかは、私はすでに削除されません.trim()で最初と最後に空白を固定ではなくトリム

"live_href": "http:// http://google.com", 
or 
"login_pass": "bourdfthuk.midas.admin r3adqerds7one", 

です文字列の中心にある空白。

+1

'.replace( "\ s" を、"「) '? – Bergi

+1

その文字列内の空白がJSONを無効にすることはありません。 – user184994

+1

解析する前にJSONを修正するのではなく、サーバーで世代を修正してください。 – Andreas

答えて

1

私はあなたがやろうとしているものを参照してください。その場合、あなたはそうのようなあなたの文字列をループしています:

var word = "North Dakota  Blah blah"; 
word = word.split(' '); 
for (var x = 0; x < word.length; x++) { 
    if (word[x] === "") { 
     word.splice(x, 1); 
     x--; 
    } 
} 
word = word.join(' '); 
console.log(word); 

の作業例:https://jsfiddle.net/85sj4ay6/2/

+0

ありがとうございますが、実際にはこれが必要です。https://stackoverflow.com/a/13788335/3498491 – Katerpiler

4

使用この

str.replace(/\s/g,'') 

グラムは、すべての空白のインスタンスのために繰り返され、sは、すべての空白だけではなく、リテラル文字のためです。

+1

実際には、正しく動作します。それはjsonを有効にしますが、それは他のものが間違って形作られるようにするすべてのスペースを削除します。私は "North Dakota Server Site"のようなサイト名を持っていて、それは "NorthDakotaServerSite"になります。 – Katerpiler

0

既に述べたように、JSONは無効なので、JSONに解析することはできません。しかし、それが有効だった場合、それは基本的にこのように動作します:

var myJson = {"login_pass": "bourdfthuk.midas.admin r3adqerds7one"}; 

myJson.login_pass = myJson.login_pass.replace(/ /g, ''); 
console.log(myJson); 

の作業例:https://jsfiddle.net/85sj4ay6/

+0

これは実際の文字列を壊してしまいます。https://jsfiddle.net/85sj4ay6/1/ – Katerpiler

関連する問題