【问题标题】:Converting Json String to DateTime将 Json 字符串转换为日期时间
【发布时间】:2014-08-21 01:32:41
【问题描述】:

我有 json 格式的数据,但在转换为 DateTime 以在我的 rails 应用程序中使用时遇到问题。

json 数据

{"status": "ok", "data": [{"2014-06-16 16:00:00": 24.2},{"2014-06-17 12:00:00": 30.2},{"2014-06-18 17:00:00": 42.9}]} etc

控制器

@data = JSON.parse(open(@source.url).read)

dates = []
temps = []

@data['data'].each do |data|
 dates << data.keys
 temps << data.values
end 

datetime = DateTime.parse(dates).strftime("%Q")

给我

can't convert Array into String

【问题讨论】:

  • 我正在尝试将日期时间转换为与 Highcharts 一起使用。

标签: ruby-on-rails json datetime ruby-on-rails-3.2


【解决方案1】:

您正在尝试解析数组而不是字符串,因为dates 是一个数组。分别解析每个日期:

dates.flatten.each do |date|
  datetime = DateTime.parse(date)
end

【讨论】:

  • 这行得通,但它会给你留下datetime,它只包含数组中的最后一个日期。这似乎没有用,但也不清楚问题正在寻找什么最终结果。也许使用map 将所有日期创建为DateTimes 的数组?
  • @jonah,不,datetime 甚至不会设置在 each 块之外。您必须在块内对其进行处理。
  • @user3373464,我明白为什么了。您将数组推入dates,因此dates 是一个数组数组。试试dates.flatten.each...
  • 知道了!不得不:datetime
猜你喜欢
  • 2012-06-04
  • 2015-09-17
  • 1970-01-01
  • 2022-08-18
  • 2017-08-31
相关资源
最近更新 更多