add is_json() and tests