【发布时间】:2016-01-12 05:32:13
【问题描述】:
我有一个 Ruby on Rails JSON 问题。
我有一个奇怪的错误。我有以下 JSON 字符串,我从外部 API 获得这样的字符串
test = "[{'domain': 'abc.com'}, {'domain': 'def.com'}, {'domain': 'ghi.com'}]"
现在,我想使用以下方法将此字符串转换为哈希:
hash = JSON.parse test
问题在于它会出错:
JSON::ParserError: 419: unexpected token at '{'domain': 'abc.com'}, {'domain': 'def.com'}, {'domain': 'ghi.com'}]'
如果任何字符串包含 ' 或 ",现在仅将 ' 替换为 " 是很危险的。谁有解决办法?
【问题讨论】:
-
你可以做
JSON.parse test.gsub("'", '"')。这将删除所有的单引号,然后解析字符串 -
我从外部 API 获取此 JSON,因此您的解决方案可能是最好的方法。谢谢!
-
但是,如果 json 值中有
'或 '"' 可能会出现问题,将所有'替换为"可以破坏 json....任何人都有解决方案?
标签: ruby-on-rails ruby