Skip to content

Commit

Permalink
Merge pull request #685 from STRML/fix/json-parsing
Browse files Browse the repository at this point in the history
Fix various JSON input bugs
  • Loading branch information
richbeales authored Apr 12, 2023
2 parents a7176cd + 434f27f commit c98471e
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions scripts/json_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"""


def fix_and_parse_json(
def fix_and_parse_json(
json_str: str,
try_to_fix_with_gpt: bool = True
) -> Union[str, Dict[Any, Any]]:
Expand All @@ -35,8 +35,8 @@ def fix_and_parse_json(
json_str = json_str.replace('\t', '')
return json.loads(json_str)
except json.JSONDecodeError as _: # noqa: F841
json_str = correct_json(json_str)
try:
json_str = correct_json(json_str)
return json.loads(json_str)
except json.JSONDecodeError as _: # noqa: F841
pass
Expand All @@ -53,6 +53,7 @@ def fix_and_parse_json(
last_brace_index = json_str.rindex("}")
json_str = json_str[:last_brace_index+1]
return json.loads(json_str)
# Can throw a ValueError if there is no "{" or "}" in the json_str
except (json.JSONDecodeError, ValueError) as e: # noqa: F841
if try_to_fix_with_gpt:
print("Warning: Failed to parse AI output, attempting to fix."
Expand Down

0 comments on commit c98471e

Please sign in to comment.