@staticmethod<EOL><INDENT>def declare_json(name,<EOL>rc_name=None, environ_name=None, filter=None,<EOL>default_value=None, fail_value=None):<DEDENT>
def _check_json(path):<EOL><INDENT>with open(path, '<STR_LIT:r>') as fl: dat = json.load(fl)<EOL>return dat if filter is None else filter(dat)<EOL><DEDENT>return config.declare_file(name, rc_name=rc_name, environ_name=environ_name,<EOL>filter=_check_hson, default_value=default_value,<EOL>fail_value=fail_value)<EOL>
config.declare_json(...) is equivalent to config.declare_file(...) except that it
  additionally requires that the file be a json file and it loads the file then passes the
  json object through the given filter function, if any.