我试图在Ubuntu 16.04上运行一些使用ruby的代码(版本2.1.4,这个版本很旧吗?)。
解析一个简单的JSON字符串似乎很麻烦,也许我的安装有问题:
require 'rubygems'
require 'json'
string='{foo:{"bar":"foobar"}}'
parsed = JSON.parse(string)
p parsed["foo"]["bar"]
我收到此错误:
/home/avilella/.rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/json/common.rb:155:in `parse': 757: unexpected token at '{foo:{"bar":"foobar"}}' (JSON::ParserError)
from /home/avilella/.rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/json/common.rb:155:in `parse'
from example_json.rb:5:in `<main>'
有什么想法吗?
答案 0 :(得分:3)
将foo
放在引号中
JSON.parse('{"foo":{"bar":"foobar"}}')
# => {"foo"=>{"bar"=>"foobar"}}
答案 1 :(得分:1)
解析一个简单的JSON字符串似乎很麻烦,也许我的安装有问题:
您的安装没有问题。您的“简单JSON字符串”根本不是JSON字符串。
JSON解析器无法解析您的字符串,因为您的字符串不是有效的JSON。换句话说:解析器在拒绝字符串时是完全正确的。