Я обнаружил это поведение multi_json рубинового самоцвета:Кодирование и декодирование символов рубин
2.1.0 :001 > require 'multi_json'
=> true
2.1.0 :002 > sym = :symbol
=> :symbol
2.1.0 :003 > sym.class
=> Symbol
2.1.0 :004 > res = MultiJson.load MultiJson.dump(sym)
=> "symbol"
2.1.0 :005 > res.class
=> String
ли это подходящий способ хранения рубиновые символов? Предоставляет ли JSON какой-то способ отличить :symbol
от "string"
?
Допустимые значения в формате JSON являются строка, число, объект, массив, логический и нуль. Другие типы должны быть преобразованы, поэтому символы хранятся в виде строк. – Stefan