如果把一个JSON的字符串转换成Ruby对象?
好像Ruby没有原生的方法之类的。请给一些代码提示,谢谢
我安的plugin
gem install json
但在使用过程中一直报错。
JSON.parse(jsonstr)一直报错,但里面的jsonstr是正确的。我已经加了require 'json'
不知道在Ruby1.9这么高的版本中,有没有解决方案。
[b]问题补充:[/b]
我的jsonstr是这样的。{name:'peter',sex:'female'}
我想把它转换成json对象。
你用的是直接的数组呀,我还以为parse方法是把jsonstr转成json对象的。
是你的jsonstr有问题,正确的写法是这样的:
[code="ruby"]
irb(main):006:0> require 'json'
=> false
irb(main):007:0> json_str = "{\"name\":\"peter\",\"sex\":\"female\"}"
=> "{\"name\":\"peter\",\"sex\":\"female\"}"
irb(main):008:0> h = JSON.parse json_str
=> {"name"=>"peter", "sex"=>"female"}
irb(main):009:0> h["name"]
=> "peter"
irb(main):010:0> h["sex"]
=> "female"
irb(main):011:0>
[/code]
报什么错啊?
刚才试了一下,没什么问题。。。
[code="ruby"]
irb(main):012:0> require 'json'
=> false
irb(main):013:0> array_json = "[1, 2, 3, 4]"
=> "[1, 2, 3, 4]"
irb(main):014:0> array = JSON.parse array_json
=> [1, 2, 3, 4]
irb(main):015:0> array.first
=> 1
irb(main):016:0>
[/code]