Python에서 객체의 JSON 배열 구문 분석

Zeeshan Afridi 2023년6월21일
  1. JavaScript 객체 표기법
  2. Python의 JSON 개체
  3. Python에서 객체의 JSON 배열 구문 분석
Python에서 객체의 JSON 배열 구문 분석

브라우저는 JSON 개체를 신속하게 구문 분석할 수 있으므로 클라이언트와 서버 간에 데이터를 전송하는 데 도움이 됩니다. 이 기사에서는 Python의 JSON 모듈을 사용하여 JSON 데이터를 송수신하는 방법에 대해 설명합니다.

JavaScript 객체 표기법

JSON(JavaScript Object Notation)은 사람이 읽고 쓰기 쉽고, 컴퓨터에서 구문 분석 및 생성하고 데이터를 저장하기 쉬운 데이터 교환을 위한 구문입니다.

언어에 편향되지 않은 전체 텍스트 형식입니다. 또한 Python에는 JSON 데이터와 상호 작용하는 데 사용할 수 있는 json이라는 라이브러리가 포함되어 있습니다.

JSON의 구문은 데이터 표현에서 이름 앞에 콜론(:)이 있고 이름: 값 쌍이 분할되므로 이름을 포함하는 JavaScript 구문의 일부로 간주됩니다. 쉼표로.

객체는 중괄호 안에 있고 배열 요소는 각 값을 쉼표로 구분하는 대괄호 안에 있습니다. Python은 JSON 구문 분석을 시작하기 전에 작업할 일부 JSON이 필요합니다.

처음에 설정해야 할 몇 가지 사항이 있습니다. 이 연습을 위한 코드를 포함할 Python 파일을 먼저 만드십시오. 그런 다음 파일 내에서 JSON 모듈을 가져옵니다.

Python의 JSON 개체

브라우저는 JSON 개체를 신속하게 구문 분석할 수 있으므로 클라이언트와 서버 간에 데이터를 전송하는 데 도움이 됩니다. 문자열, 정수(floats 또는 int), 부울 값, 목록, null 또는 다른 JSON 개체는 모두 JSON 개체 키에 허용되는 값입니다.

아래 예제에서는 사전에 의해 채워지는 객체 json_string이 생성되고 객체의 데이터는 json.load() 메서드를 사용하여 구문 분석된 다음 출력에 표시된 데이터를 인쇄합니다.

예제 코드:

import json

json_string = """
{
    "Student": {
        "ID" : "3",
        "name": "kelvin",
        "Group": "A",
        "Program" : "BSSE"
    }
}
"""
data = json.loads(json_string)
print(data)

출력:

{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE'}}

Python에서 객체의 JSON 배열 구문 분석

JSON 배열의 구조는 Python 대괄호 목록의 구조와 동일합니다. 여기에는 JSON 개체 필드 값과 동일한 데이터 유형 및 중첩 배열이 포함될 수 있습니다. 내장 패키지 jsonjson.loads() 함수를 사용하여 JSON 문자열을 Python 객체로 변환합니다.

JSON 데이터 문자열은 json.loads() 함수에 의해 구문 분석되며 JSON의 모든 데이터가 포함된 Python 사전을 제공합니다. 개체를 참조하기 위해 이름이나 색인을 사용하여 이 Python 사전에서 구문 분석된 데이터를 가져올 수 있습니다.

중첩된 JSON 항목에 대한 사전을 검사할 수도 있습니다. 관련 메서드 json.load()를 사용하여 JSON 파일을 구문 분석합니다(s 제외). 아래 예에서 배열의 값을 구문 분석하기 위해 json.loads를 사용했습니다.

예제 코드:

import json

json_string = """
{
    "Student": {
        "ID" : "3",
        "name": "kelvin",
        "Group": "A",
        "Program" : "BSSE",

        "cars": [
            {"model": "BMW 330e", "mpg": 143},
            {"model": "Rolls-Royce Phantom EWB", "mpg": 18}
        ]
    }
}
"""
data = json.loads(json_string)
print(data)

출력:

{'Student': {'ID': '3', 'name': 'kelvin', 'Group': 'A', 'Program': 'BSSE', 'cars': [{'model': 'BMW 330e', 'mpg': 143}, {'model': 'Rolls-Royce Phantom EWB', 'mpg': 18}]}}

이 예제는 JSON 디코더를 통해 JSON 배열을 Python 배열 데이터 유형으로 변환합니다. Python 개체에서 인덱스를 사용하면 JSON 배열에서 요소를 얻을 수 있습니다.

예제 코드:

import json

json_str = (
    """
{
  "Orders": [
    {"Id": 151},
    {"Id": 120},
    {"Id": 131},
    {"Id": 114}
  ]
}
"""
    ""
)
data = json.loads(json_str)

order_1_id = data["Orders"][0]["Id"]
order_2_id = data["Orders"][1]["Id"]
order_3_id = data["Orders"][0]["Id"]
order_4_id = data["Orders"][1]["Id"]
total = len(data["Orders"])

print(f"Order #1: {order_1_id}, Order #2: {order_2_id}, Total Orders: {total}")

출력:

Order #1: 151, Order #2: 120, Total Orders: 4
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn