2017-01-15 1 views
0

ハッシュをJSONとして永続化するとき、ハッシュをJSONに変換して変更するのではなく、キーが整数から文字列に変更されることを期待しています。ActiveRecordのserializeは、整数を文字列に変換しますか? [Rails]

モデル:

class Shift < ActiveRecord::Base 
    serialize :api_returns, JSON 
end 

使用法:

> Shift.create(api_returns: { 123 => '456' }) 
    SQL (0.5ms) INSERT INTO "shifts" ("api_returns") VALUES ($1) RETURNING "id" [["api_returns", "{\"123\":\"456\"}"]] 
=> #<Shift:0x007fe785038c60 id: 22, ... api_returns: {"123"=>"456"}> 

任意のアイデアをどのようにActiveRecordのが私の入力をマングルないようにしますか?

答えて

1

JSONに整数キーを含めることはできません。キーは二重引用符で囲まれた文字列でなければならず、他の型は許可されません。 parseInt()を使用して

http://json.org/

+0

ありがとう、ありがとう! – hakunin

0

、あなたはあなたがそれらを使用する際に、JSでそれらを変換することができます。

var a = parseInt("10") 
関連する問題