diff --git a/lib/ansible/utils/__init__.py b/lib/ansible/utils/__init__.py index 8e3edf4f4f8..5eb38176252 100644 --- a/lib/ansible/utils/__init__.py +++ b/lib/ansible/utils/__init__.py @@ -447,8 +447,12 @@ def role_yaml_parse(role): def json_loads(data): ''' parse a JSON string and return a data structure ''' + try: + loaded = json.loads(data) + except ValueError,e: + raise errors.AnsibleError("Unable to read provided data as JSON: %s" % str(e)) - return json.loads(data) + return loaded def _clean_data(orig_data, from_remote=False, from_inventory=False): ''' remove jinja2 template tags from a string '''