2

JSON.parse で文字列をオブジェクトに変換できませんでした。問題を解決するこのコードを見つけましたが、それがどのように機能するのかわかりません。誰かが (JavaScript の初心者に) 3 行目で何が起こっているのかを説明できれば幸いです。ありがとうございました。

var str, obj;
str = "{src:'img/testimage.jpg', coord:{x:17, y:39}, width:200, height:200}";
obj = new Function('return '+str)();
4

4 に答える 4

0

デバッガー ウィンドウを使用して、何が起こっているかを確認できます。その最後の行は単にオブジェクトを返します。

ここに画像の説明を入力

于 2015-10-26T19:54:08.577 に答える
0

JSON.parse を取得して文字列をオブジェクトに変換できませんでした

一重引用符を二重引用.replace()符に置き換え、入力文字列の前にプロパティ名に二重引用符を追加し、結果の文字列を呼び出すために使用できます'"":"JSON.parse()

var str = "{src:'img/testimage.jpg', coord:{x:17, y:39}, width:200, height:200}";
var obj = str.replace(/'/g, "\"").replace(/(\w+)(?=:)/g, "\"$1\"");
console.log(JSON.parse(obj))

于 2015-10-26T20:05:09.170 に答える
0

完全を期すために、JavaScript ソースに単にハードコードしたいだけの JSON として認識されるものがある場合、JSON の解析はまったく必要ないことに注意してください。

var obj = {src:'img/testimage.jpg', coord:{x:17, y:39}, width:200, height:200};

結構です。

于 2015-10-26T20:09:28.810 に答える