[Python]Dict -> Json, Json -> Dict
- Dict -> Json 변환
d = {"group1":[ {'name': 'Park', 'age': '32', 'sex': 'Male'}, {'name': 'Cho', 'age': '44', 'sex': 'Female'}, {'name': 'Kang', 'age': '39', 'sex': 'Female', 'married': 'No'} ], "group2":[ {'name': 'Kim', 'age': '23', 'sex': 'Male', 'married': 'Yes'}, {'name': 'Lee', 'age': '37', 'sex': 'Male', 'married': 'No'} ], "type" : {"a": "employee", "b": "officer", "c": "director", "d": "manager", "e": "service provider"} } import json print(json.dumps(d, indent=4)) with open("../source/32-2.json", 'w') as out: json.dump(d, out) ## 결과 { "group1": [ { "name": "Park", "age": "32", "sex": "Male" }, { "name": "Cho", "age": "44", "sex": "Female" }, { "name": "Kang", "age": "39", "sex": "Female", "married": "No" } ], "group2": [ { "name": "Kim", "age": "23", "sex": "Male", "married": "Yes" }, { "name": "Lee", "age": "37", "sex": "Male", "married": "No" } ], "type": { "a": "employee", "b": "officer", "c": "director", "d": "manager", "e": "service provider" } }
2. Json -> Dict
d = """ {"group1":[ {'name': 'Park', 'age': '32', 'sex': 'Male'}, {'name': 'Cho', 'age': '44', 'sex': 'Female'}, {'name': 'Kang', 'age': '39', 'sex': 'Female', 'married': 'No'} ], "group2":[ {'name': 'Kim', 'age': '23', 'sex': 'Male', 'married': 'Yes'}, {'name': 'Lee', 'age': '37', 'sex': 'Male', 'married': 'No'} ], "type" : {"a": "employee", "b": "officer", "c": "director", "d": "manager", "e": "service provider"} } """ import json # 방법1 result1 = json.loads(d.replace("'", '"')) # 쌍따옴표로 통일해줘야 오류가 발생하지 않는다. print(type(result1)) print(result1) print() # 방법2 with open('../source/33-1.json', 'r') as file: result2 = json.load(file) print(type(result2)) print(result2) ## 결과 <class 'dict'> {'group1': [{'name': 'Park', 'age': '32', 'sex': 'Male'}, {'name': 'Cho', 'age': '44', 'sex': 'Female'}, {'name': 'Kang', 'age': '39', 'sex': 'Female', 'married': 'No'}], 'group2': [{'name': 'Kim', 'age': '23', 'sex': 'Male', 'married': 'Yes'}, {'name': 'Lee', 'age': '37', 'sex': 'Male', 'married': 'No'}], 'type': {'a': 'employee', 'b': 'officer', 'c': 'director', 'd': 'manager', 'e': 'service provider'}} <class 'dict'> {'group1': [{'name': 'Park', 'age': '32', 'sex': 'Male'}, {'name': 'Cho', 'age': '44', 'sex': 'Female'}, {'name': 'Kang', 'age': '39', 'sex': 'Female', 'married': 'No'}], 'group2': [{'name': 'Kim', 'age': '23', 'sex': 'Male', 'married': 'Yes'}, {'name': 'Lee', 'age': '37', 'sex': 'Male', 'married': 'No'}], 'type': {'a': 'employee', 'b': 'officer', 'c': 'director', 'd': 'manager', 'e': 'service provider'}}
최신 댓글