Tôi cần phải đổ một đối tượng băm vào JSON và tôi đã tự hỏi cái nào trong số ba, to_json
, JSON.generate
hoặc JSON.dump
, là cách ưu tiên để làm điều đó.Cách ưa thích để đổ một đối tượng JSON là gì? to_json, JSON.generate hoặc JSON.dump?
Tôi đã thử nghiệm các kết quả của các phương pháp này và họ đều giống nhau:
> {a: 1, b: 2}.to_json
=> "{\"a\":1,\"b\":2}"
> JSON.generate({a: 1, b: 2})
=> "{\"a\":1,\"b\":2}"
> JSON.dump({a: 1, b: 2})
=> "{\"a\":1,\"b\":2}"
Tôi vẫn không tìm thấy bất kỳ sự khác biệt lớn nào giữa 'generate' và' dumps' bên cạnh đối số tệp tùy chọn và giới hạn. Là nó? – linkyndy
Khá nhiều. Như các tài liệu nói, '# dump' là có cho phép bạn làm một cái gì đó như' serializer = [JSON, Marshal, YAML] [rand (3)]; serializer.dump (obj, io, limit) '. (tốt, một điều hữu ích hơn sẽ là để chọn serialiser trong một tập tin cấu hình, ví dụ, nhưng phải mất nhiều không gian hơn so với lựa chọn ngẫu nhiên: P). – Amadan