[Python]Dict -> Json, Json -> Dict

  1. 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'}}

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다