파이썬 JSON 파싱

파이썬 JSON 파싱

2022-09-03 last update

5 minutes reading Python

파이썬 JSON 파싱


이 기사에서는 Python 프로그래밍 언어로 JSON 데이터를 구문 분석하는 방법에 대해 설명합니다. 파이썬에서 JSON 구문 분석 메커니즘을 이해하기 위해 몇 가지 예를 살펴보겠습니다.

JSON이란 무엇입니까?


JSON은 JavaScript Object Notation의 약자입니다. JSON은 구조화된 데이터를 구성하고 저장하기 위한 가벼운 텍스트 기반 표현입니다. JSON 데이터는 순서가 지정된 목록 및 키-값 쌍으로 표시됩니다. 구조화된 데이터를 XML보다 JSON으로 표현하는 것이 훨씬 쉽고 깔끔합니다.

샘플 JSON 객체


다음은 JSON 파일의 예입니다.
{

“Name”: ”Elie”,

“Student ID”: “27389”,

“Phone”: “82677”,

“Department”: “Finance”

}
JSON 객체는 중괄호 안에 표시됩니다. JSON 객체는 여러 JSON 데이터를 포함할 수 있습니다. 각 JSON 데이터는 쉼표로 표시됩니다. JSON 데이터는 {Key:Value} 쌍에 불과합니다.

Python에서 라이브러리 구문 분석


Python 스크립트에서 JSON 데이터를 인코딩 및 디코딩하기 위한 내장 라이브러리가 있습니다. JSON 라이브러리를 사용하려면 아래와 같이 JSON 라이브러리를 가져와야 합니다.

이 기사에서는 JSON 데이터를 구문 분석하기 위한 json 라이브러리에 중점을 둘 것입니다.

예-1


이 예제에서는 먼저 "json"라이브러리를 가져옵니다. 이것은 파이썬에 내장된 패키지입니다. "json_data"라는 JSON 문자열을 선언했습니다. JSON 문자열은 json.loads() 메서드를 사용하여 구문 분석할 수 있습니다. 이 메서드는 Python 사전을 반환합니다. 그러면 아래 출력 이미지와 같이 사전 요소가 인쇄됩니다.
import json


json_data =  '{ "student_name":"Elie", "roll":20, "Class":11, "sub1":"Math","sub2":"Phy","sub3":"Chem","city":"Chicago"}'


# Parse JSON data using loads() function

parsed_data = json.loads(json_data)


# Print the result

print(parsed_data["student_name"])

print(parsed_data["roll"])

print(parsed_data["city"])

예-2


이 예에서는 Python 사전을 구문 분석하고 JSON 문자열로 변환하는 방법을 볼 것입니다. 우리는 먼저 "py_obj"라는 파이썬 사전을 선언했습니다. 그런 다음 Python 사전은 json.dumps() 메서드를 사용하여 JSON 문자열로 변환됩니다. 그런 다음 아래 출력 이미지와 같이 JSON 개체를 인쇄했습니다.
import json


# declare a python dictionary

py_obj = {

"student_name": "Elie",

"roll": 20,

"Class":11,

"sub1":"Math",

"sub2":"Phy",

"sub3":"Chem",

"city": "Chicago"

}


# convert the python dictionary into JSON:

jsob_obj = json.dumps(py_obj)


# Print the JSON object

print(jsob_obj)

예-3


이 예에서는 JSON 파일을 읽고 파일의 JSON 데이터 콘텐츠를 구문 분석하는 방법을 보여줍니다. 다음은 이 예에서 고려 중인 입력 파일입니다.
{ "student_name":"Elie", "roll":20, "Class":11,

"sub1":"Math","sub2":"Phy","sub3":"Chem","city":"Chicago"}

먼저 "json"라이브러리를 가져온 다음 "json_input.json"파일을 읽고 json.load() 메서드를 사용하여 내용을 구문 분석하고 "json_data"변수에 저장합니다. 그런 다음 아래 출력 스크린샷과 같이 "json_data"변수를 인쇄했습니다.
import json


with open('json_input.json') as f:

json_data = json.load(f)


# print output

print(json_data)

예-4


이 예제는 Python 사전을 JSON 문자열로 변환하고 파일에 쓰는 방법을 보여줍니다.
먼저 "json"패키지를 가져왔습니다. Python 사전 "py_obj"가 선언되었습니다. 그런 다음 python 사전, 즉 "py_obj"는 json.dump() 메서드를 사용하여 JSON 문자열로 변환됩니다. 그런 다음 이 JSON 문자열이 파일에 기록됩니다. 출력 파일이 없으면 파일이 생성되고 JSON 문자열이 작성됩니다.
import json


# declare a python dictionary

py_obj = {

"student_name": "Elie",

"roll": 20,

"Class":11,

"sub1":"Math",

"sub2":"Phy",

"sub3":"Chem",

"city": "Chicago"

}


with open('json_output.txt', 'w') as json_output_file:

json.dump(py_obj, json_output_file)


예-5


JSON 문자열을 사용자 친화적으로 출력하는 방법을 보여주는 예제입니다. 이 예에서는 들여쓰기를 3으로 사용했으며 키는 JSON 문자열을 인쇄하는 동안 오름차순으로 정렬됩니다.
import json



# declare a python dictionary

py_obj_1 = '{"student_name": "Elie","roll": 20,"Class":11,"sub1":"Math","sub2":"Phy","sub3":"Chem","city": "Chicago"}'



py_obj_2 = json.loads(py_obj_1)



# Print JSON string

print(json.dumps(py_obj_2, indent = 3, sort_keys=True))

결론


이 기사에서는 JSON 파일 형식과 Python에서 JSON 파일/데이터를 구문 분석하는 방법에 대해 간략하게 논의했습니다. 이 기사에서는 "json"라이브러리를 다루었고 JSON 데이터를 구문 분석하는 몇 가지 예를 보았습니다.