diff --git a/json.py b/json.py new file mode 100644 index 00000000..67ef280a --- /dev/null +++ b/json.py @@ -0,0 +1,31 @@ +import json + +def explain_json(json_file): + """ + Explains the code of the JSON file. + + Args: + json_file: The JSON file to explain. + + Returns: + A list of strings that explain the code of the JSON file. + """ + + with open(json_file) as f: + json_data = json.load(f) + + explanations = [] + + for key, value in json_data.items(): + if isinstance(value, dict): + explanations.append("The key '{}' is a dictionary.".format(key)) + for subkey, subvalue in value.items(): + explanations.append("The key '{}' has the value '{}'.".format(subkey, subvalue)) + elif isinstance(value, list): + explanations.append("The key '{}' is a list.".format(key)) + for item in value: + explanations.append("The list contains the item '{}'.".format(item)) + else: + explanations.append("The key '{}' has the value '{}'.".format(key, value)) + + return explanations