我做了一些愚蠢的事情……我收集了大量的json数据并将其保存在一个文件中.我现在发现自己在尝试 JSON.parse(文件)时遇到错误,因为它的JSON对象在JSON对象之后.任何人都可以建议我如何解
{"purchase":
{
"amount": 34.595399,
"uid": 1282907706,
"user":
{
"id": xxxx
"name": "xxxx"
},
"dailycount": 135.82373100000001,
"productdetails":
{
"type": "shoes"
},
"details":
{
"gender": "male"
},
"createdin": "Asia/Tokyo",
"id": 147707740,
"comments": []}}
问题当然是你没有一个有效的json对象.
irb(main):004:0> JSON.parse("{'foo':'bar'},{'foo':'baz'}")
JSON::ParserError: 705: unexpected token at '{'foo':'bar'},{'foo':'baz'}'
from /usr/lib/ruby/gems/1.8/gems/json-1.4.6/lib/json/common.rb:146:in `parse'
from /usr/lib/ruby/gems/1.8/gems/json-1.4.6/lib/json/common.rb:146:in `parse'
from (irb):4
所以,我会在你最后一个大括号结束之前添加一个’“键”:[‘和””.使它成为有效的json.
irb(main):018:0> json = '{"key" : [{"foo":"bar"}, {"foo":"baz"}]}'
=> "{\"key\" : [{\"foo\":\"bar\"}, {\"foo\":\"baz\"}]}"
irb(main):019:0> JSON.parse json
=> {"key"=>[{"foo"=>"bar"}, {"foo"=>"baz"}]}
