9
votes

RUBY: Comment puis-je convertir un tableau de données en hachage et au format JSON?

Je suis très nouveau dans la matrice rubis et la manipulation de hachage.

Comment puis-je faire cette transformation simple? xxx

sortie souhaitée dans JSON: < PRE> XXX

Est-ce que quelqu'un a des indices?


1 commentaires

La sortie souhaitée n'est pas valide JSON. Vous voulez dire un tableau? [...]


3 Réponses :


7
votes

convertir une matrice de struct code> objets dans la matrice de hachage code>, appelez to_json code>. Vous devez exiger JSON code> (Ruby 1.9) afin d'utiliser la méthode to_json code>.

array.collect { |item| {:id => item.id, :car => item.car} }.to_json


0 commentaires

16
votes
array.map { |o| Hash[o.each_pair.to_a] }.to_json

2 commentaires

Vous devez besoin 'JSON' pour obtenir la fonction to_json .


Vous pouvez également écrire .to_h à la place.



2
votes

Par défaut, une instance de structure sera affichée sous forme de chaîne lors de l'encodage à JSON à l'aide du gemme JSON RUBY:

YourStruct.json_create(JSON.parse('{"id": 1,"car":"toy"}'))
# => #<struct YourStruct id=1, car="toy">


1 commentaires

très reconnaissant pour cela. J'ai essayé de nombreuses autres solutions et c'était le premier qui a fonctionné ... peut-être un jour que je le comprendrai réellement.