开发者

Ruby on Rails JSON.parse unexpected token error

I am trying to parse JSON data in my Rails 3 application with JSON.parse. I keep getting this error:

737: unexpected token at '{\"0\"开发者_开发问答:{\"class\":\"window\",\"text\":\"Testing\",\"style\":\"position: absolute; top: 8px; left: 8px; width: 560px; height: 290px; z-index: 0; \"}

The actual JSON is a lot longer, but it is basically the same.


Well, we can only answer based on the part of the JSON you showed us, but it has two problems:

  1. All the quote characters (") are escaped; they don't need to be unless they are used in a double-qoted string, which it appears they are not.
  2. You are missing a closing brace (}).

Otherwise it passes based on https://jsonlint.com/.


In my case it was a hidden tab character which showed up only when i pasted it into vim.


You can directly use JSON.Parse() in-build method:

content = "[{\"addon_id\":\"1\",\"addon_price\":\"5\"}]"
# OUTPUT at Console => "[{\"addon_id\":\"1\",\"addon_price\":\"5\"}]"

JSON.parse(content.gsub('\"', '"'))
# OUTPUT at Console => [{"addon_id"=>"1", "addon_price"=>"5"}]
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜