Ruby on Rails - JSON 解析错误意外标记

Ruby on Rails - JSON parse error unexpected token

我在将 json 文件加载到 json 后读取了它,但我收到错误 JSON::ParserError unexpected token at,我无法't json parse.Below 我提到了我在文件读取后得到的输出

这是我的代码,

file = File.read("sample.json") 
hash = JSON.load(file)

阅读我的 json 文件后,

"{\"rename\"=>[{\"from\"=>\"TTTC\", \"to\"=>\"AAAB\"}, {\"from\"=>\"AAAA\", \"to\"=>\"Description\"}, {\"from\"=>\"AAAC\", \"to\"=>\"test\"}], \"drop\"=>{\"fields\"=>[\"AAAG\", \"AAAH\"]}}"

这在 json => 中无效。 JSON 看起来像

{ "rename": [{ "from": "TTTC" }] }

那不是 JSON 那是通过将检查方法应用于散列而创建的字符串。

您可以使用 eval

将其转换回散列
hash = eval(file)

但是 eval 可能是一个安全漏洞,因此只有当您对文件的来源和内容有信心时才应该这样做。

如果您在测试时遇到此错误 - 请确保将 .to_json 添加到请求的正文哈希中。

示例:

headers = {
  'ACCEPTS' => 'application/json'
}

post '/api-endpoint-here', { name: 'Dylan Pierce' }.to_json, headers