json.parse失败“意外令牌”

时间:2013-11-19 17:12:14

标签: ruby

我正在尝试解析其中包含韩文字符的字符串,并且该字符串是UTF-8编码的。但是JSON.parse失败了,我不明白为什么。有什么帮助吗?

irb(main):001:0> s = "{'a': '용국 . 지코 . 미노 . 지민 . 지용''}"
=> "{'a': '용국 . 지코 . 미노 . 지민 . 지용''}"
irb(main):002:0> s
=> "{'a': '용국 . 지코 . 미노 . 지민 . 지용''}"
irb(main):003:0> s.encoding
=> #<Encoding:UTF-8>
irb(main):004:0> require 'json'
=> true
irb(main):005:0> JSON.parse s
JSON::ParserError: 746: unexpected token at '{'a': '용국 . 지코 . 미노 . 지민 . 지용''}'
from /usr/lib/ruby/1.9.1/json/common.rb:148:in `parse'
from /usr/lib/ruby/1.9.1/json/common.rb:148:in `parse'
from (irb):5
from /usr/bin/irb:12:in `<main>'
irb(main):006:0> 

1 个答案:

答案 0 :(得分:3)

必须使用"构建JSON('无效)。请尝试以下任何一种方法:

s = "{\"a\": \"용국 . 지코 . 미노 . 지민 . 지용\"}"
s = '{"a": "용국 . 지코 . 미노 . 지민 . 지용"}'