관리 메뉴

Life goes slowly...

[Python] 파이썬(Python)의 JSON 인코딩,디코딩 본문

프로그래밍/Python

[Python] 파이썬(Python)의 JSON 인코딩,디코딩

빨강소 2023. 6. 20. 16:31
728x90
반응형

Javascript 문법에서 가장 영향을 많이 받은 데이터 표현방식으로 JSON(Javascript Object Object Notation)이 있습니다. JSON은 데이터를 교환하는 포맷형식으로 웹 브라우저와 웹 서버 사이에서 데이터를 교환하는 방식으로 많이 사용되고 있습니다.

 

Python의 JSON 인코딩

파이썬(Python) 프로그래밍에서 Object 표현방식을 JSON 형태로 변경하는것을 JSON 인코딩(Encoding)이라고 합니다. JSON 인코딩을 하기 위해서는 JSON 라이브러리인 json을 먼저 import 하여 json 라이브러리 내의 dumps 함수를 사용하여 변환 가능합니다. 

인코딩(Encoding)을 하게 되면 Object 형식의 데이터를 하나의 데이터로 표현이 됩니다.

 

# 테스트용 Python Dictionary
TestData = {
    'id': 1111,
    'name1': '철수',
    'name2': '영희',
    'history': [
        {'date': '2023-06-19', 'week': 'Monday'},
        {'date': '2023-06-20', 'week': 'Tuesday'},
    ]
}

jsonData = json.dumps(TestData)

print(jsonData)
print(type(jsonData))

{"id": 1111, "name1": "\ucca0\uc218", "name2": "\uc601\ud76c", "history": [{"date": "2023-06-19", "week": "Monday"}, {"date": "2023-06-20", "week": "Tuesday"}]}
<class 'str'>

 

Python의 JSON 디코딩

JSON 인코딩의 반대적인 형태 변경으로 JSON 문자열을 파이썬(Python) 타입으로 변경하는 것을 JSON 디코딩(Decoding)이라고 합니다. JSON 디코딩은 json 라이브러리 내의 loads 함수를 사용하여 변환 가능합니다. 

 

# 테스트용 JSON Data
JsonData = '{"id": 1111, "name1": "철수", "name2": "영희", "history": [{"date": "2023-06-19", "week": "Monday"},{"date": "2023-06-20", "week": "Tuesday"}]}'

dictData = json.loads(JsonData)

print(dictData['name1'])
for h in dictData['history']:
    print(h['date'], h['week'])
철수
2023-06-19 Monday
2023-06-20 Tuesday
728x90
반응형
Comments