如何将JSON字符串转换为对象?

Bru*_*oLM 7 javascript jquery json

如何在JavaScript中将JSON字符串转换为对象?有没有一种方法可以做到这一点?

就像是:

var x = "{  id: 5, name: 'hello'  }";
var y = /*something*/(x);

alert(y.id + " " + y.name);
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 9

根据评论和问题历史记录,您似乎已经在使用jQuery了.在这种情况下,很高兴知道jQuery parseJSON()自今年1月下旬发布的1.4.1版本开始提供新功能.如果您尚未达到1.4.1,请考虑升级.以下是其API文档的相关摘录:

描述:采用格式良好的JSON字符串并返回生成的JavaScript对象.

添加了jQuery.parseJSON(json)版本:1.4.1

json要解析的JSON字符串.

传入格式错误的JSON字符串将导致抛出异常.例如,以下是所有格式错误的JSON字符串:

  • {test: 1} (测试周围没有双引号).
  • {'test': 1} ('test'使用单引号而不是双引号).

此外,如果您没有传入任何内容,空字符串,null或未定义,将返回"null" parseJSON.在浏览器提供本机实现的地方JSON.parse,jQuery使用它来解析字符串.有关JSON格式的详细信息,请参阅http://json.org/.

例:

解析JSON字符串.

var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );
Run Code Online (Sandbox Code Playgroud)