JSON.parse无法解析(Unexpected Token)

时间:2017-05-15 02:41:38

标签: ruby cucumber

JSON.parse返回错误:

# Ruby code in IRB
require 'json'
time_now = t.strftime("%a, %d %b %Y %H:%M:%S GMT")
hash = '"date":' + time_now.to_s
hash_json = JSON.parse(hash)

错误:

  

JSON :: ParserError:743:'太阳,2017年5月14日21:19:02 GMT'的意外令牌

我的需要是拥有一个密钥/值为:

的JSON哈希
# JSON hash
"date": "Sun, 14 May 2017 21:19:02 GMT"

有什么见解?我在几个方面尝试了这个,但每次遇到同样的问题。

3 个答案:

答案 0 :(得分:2)

您的哈希需要像这样定义:hash = {"date" => time_now}

此外,JSON.parse从JSON格式的字符串返回哈希。 Hash有一个方法to_json,反之亦然:

require 'json'
time_now = Time.now.strftime("%a, %d %b %Y %H:%M:%S GMT")
hash = {'date' => time_now}
hash_json = hash.to_json

答案 1 :(得分:0)

您没有正确创建哈希。这是不正确的:

hash = {'"date":' + time_now} 

应该是:

hash = {'date' => time_now}

答案 2 :(得分:-1)

Json解析时可以使用,数据包含json结构; 所以,hash ='" date":' + time_now.to_s问题在这里

hash = {"date"=> time_now.to_s}