420

私は次のようなオブジェクトをstringyfingしています{'foo': 'bar'}

文字列をオブジェクトに戻すにはどうすればよいですか?

4

9 に答える 9

610

JSON.parse()文字列が必要です。

var str = '{"hello":"world"}';
try {
  var obj = JSON.parse(str); // this is how you parse a string into JSON 
  document.body.innerHTML += obj.hello;
} catch (ex) {
  console.error(ex);
}

于 2012-06-23T18:01:47.730 に答える
86

JSON.parseの反対ですJSON.stringify

于 2012-06-23T18:01:28.667 に答える
7

http://jsbin.com/tidob/1/edit?js,コンソール,出力

ネイティブ JSON オブジェクトには、2 つの主要なメソッドが含まれています。

1. JSON.parse()
2. JSON.stringify() 
  1. このJSON.parse()メソッドは JSON 文字列を解析します。つまり、元の JavaScript オブジェクトを再構築します。

    var jsObject = JSON.parse(jsonString);

  2. JSON.stringify() メソッドは JavaScript オブジェクトを受け取り、それに相当する JSON を返します。

    var jsonString = JSON.stringify(jsObject);

于 2014-09-02T08:07:06.847 に答える
6

これはどう

var parsed = new Function('return ' + stringifiedJSON )();

これは のより安全な代替手段ですeval

var stringifiedJSON = '{"hello":"world"}';
var parsed = new Function('return ' + stringifiedJSON)();
alert(parsed.hello);

于 2013-08-19T20:34:33.933 に答える