2013-11-19 3 views
0

Я пытаюсь разобрать строку, в которой есть корейские символы, и которая кодируется UTF-8. Но JSON.parse терпит неудачу, и я понятия не имею, почему. Любая помощь?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> 

ответ

3

JSON должен быть построен с использованием " (' Недействительных). Попробуйте выполнить одно из следующих действий:

s = "{\"a\": \"용국 . 지코 . 미노 . 지민 . 지용\"}" 
s = '{"a": "용국 . 지코 . 미노 . 지민 . 지용"}' 
Смежные вопросы