【发布时间】:2020-01-02 10:29:03
【问题描述】:
我的 Rails 应用程序的数据库中有一个数组列。此列存储哈希数组。但它们作为字符串存储在数组中。我想将它们转换回哈希数组。
数据库列值。卡片
["{:card_number=>\"12345678\", :card_pin=>\"12345\", :validity=>Sat, 01 Feb 2020, :amount=>100}", "{:card_number=>\"76355859\", :card_pin=>\"4532\", :validity=>Sat, 01 Feb 2020, :amount=>100}", "{:card_number=>\"76354858\", :card_pin=>nil, :validity=>Sat, 01 Feb 2020, :amount=>100}", "{:card_number=>\"76254859\", :card_pin=>nil, :validity=>Sat, 01 Feb 2020, :amount=>100}"]
我正在尝试解析它们并发送哈希数组作为响应。
JSON.parse(cards[0])
给予
JSON::ParserError (767: unexpected token at '{:card_number=>"12345678", :card_pin=>"12345", :validity=>Sat, 01 Feb 2020, :amount=>100}')
如何将其转换为哈希数组。
【问题讨论】:
-
那不是json。你负责序列化内容吗?这似乎是一个简单的
inspect(将哈希转换为字符串)?使用.to_json会好很多。
标签: arrays ruby-on-rails json parsing