Merging two JSON objects


I got two JSON objects and would like to merge them together into a single one. Are there any helper methods that I am not seeing or do I just go ahead and do this manually?

Thanks for any pointers!


Do you want to …

  • emit the result of the merge? => use the json builder
  • access them in a fallback fashion? => maybe the dig methods might help to have a in flight fallback of any key.
  • have a JSON::Any value? => yeah, manually I think.


You could use JSON::OnSteroids.

Basically it’s mutable JSON structure, allowing you to transform it. The documentation is still in progress but there’s a merge method built-in.

new_json = json1.on_steroids.merge!(json2)