Jakob Voß
and 3 contributors


Catmandu::Fix::get_json - get JSON data from an URL as fix function


        # fetches a hash or array

        # stores it in path.key
        get_json("http://example.com/json", path: path.key)

    # add URL query parameters or URL path from config
        get_json("http://example.com/", vars: config)

    # fill URL template fields from config
        get_json("http://example.com/{name}.json", vars: config)

        # get URL or URL template from a field


This Catmandu::Fix provides a method to fetch JSON data from an URL. The response is added as new item or to a field of the current item.


The first argument must be an URL, an URL template, or a field where to take an URL or URL template from. Additional options include:


Field to store result JSON in. If not given or set to the empty string, the whole item is replaced by the fetched JSON response. If the first argument is a field, the same field is used as path by default.


Field to get URL template variables, URL query parameters or an URL path expression from. This option is required if the first argument is an URL template.

The fix function also supports options dry, cache, timeout, agent, proxy, and wait as documented in Catmandu::Importer::getJSON. Options client, headers, and warn are not supported.