Ao despejar um hash, a opção :symbol_keys
não parece ter nenhum efeito quando passada como false
, exemplo:
require 'oj'
# notice the ':' prefix of they key
puts Oj.dump({:abc => 123}, :symbol_keys => false)
#=> {":abc":123}
# same result
puts Oj.dump({:abc => 123}, :symbol_keys => true)
#=> {":abc":123}
Este é o comportamento esperado?
Esse é o comportamento esperado. A opção symbolize_keys só se aplica ao carregamento.
Qual é sua recomendação se eu tiver um hash com chaves de símbolo, que desejo despejar em JSON sem os prefixos de dois pontos? Posso stringify-keys recursivamente no hash, mas isso não parece ser muito bom. Pensamentos?
Existem 4 modos que o OJ pode usar para despejar. Isso ajuda as pessoas a encontrar o nível certo de conversão de Ruby para JSON. O modo: compat irá converter símbolos em strings. Tente isto
Oj.dump ({a: 1, b: 2}, modo:: compat)
Em 12 de dezembro de 2012, às 03h21, Trevor Rowe [email protected] escreveu:
Qual é sua recomendação se eu tiver um hash com chaves de símbolo, que desejo despejar em JSON sem os prefixos de dois pontos? Posso stringify-keys recursivamente no hash, mas isso não parece ser muito bom. Pensamentos?
-
Responda a este e-mail diretamente ou visualize-o no GitHub.
Comentários muito úteis
Existem 4 modos que o OJ pode usar para despejar. Isso ajuda as pessoas a encontrar o nível certo de conversão de Ruby para JSON. O modo: compat irá converter símbolos em strings. Tente isto
Oj.dump ({a: 1, b: 2}, modo:: compat)
Em 12 de dezembro de 2012, às 03h21, Trevor Rowe [email protected] escreveu: