如何将字符串转换为对象

use*_*673 2 javascript json

我在格式中有一个字符串值'{"apple":30,"orange":50}'.如何将其转换为格式的javascript对象

{apple: 30, orange: 50}
Run Code Online (Sandbox Code Playgroud)

这样我就可以apple通过使用来获得价值object.apple.

Aru*_*hny 7

您可以通过许多方法解决这一点,但我更喜欢使用一个库,如JSON库道格拉斯Crockford的先生.

如果你使用它就像它一样简单

var object = JSON.parse('{"apple":30,"orange":50}')
alert(object.apple) // will alert 30
Run Code Online (Sandbox Code Playgroud)

最危险和最丑陋的方式是使用该eval()功能.

eval('object={"apple":30,"orange":50}')
alert(object.apple) // will alert 30
Run Code Online (Sandbox Code Playgroud)

永远不要使用它.

json.org网站有不同语言更JSON库引用.可在此处找到Javascript特定信息.

  • +1 Crockford现在实际上提供了三个不同的解析库,具体取决于您的偏好,所有这些都可以在这里找到(https://github.com/douglascrockford/JSON-js/)*(这是一个链接; stoopid StackOverflow没有下划线链接)*.有原始的`json2.js`,它在封面下使用`eval`,但首先检查它是否正常,以及两个不使用`eval`的选项:`json_parse.js`使用了递归下降解析器和使用状态机的`json_parse_state.js`.多种选择! (4认同)