>백엔드 개발 >파이썬 튜토리얼 >내 JSON 디코더가 실패하는 이유: 배열과 객체의 잘못된 구문?

내 JSON 디코더가 실패하는 이유: 배열과 객체의 잘못된 구문?

DDD
DDD원래의
2024-12-15 17:04:13824검색

Why Does My JSON Decoder Fail:  Incorrect Syntax in Arrays vs. Objects?

JSON 디코딩이 실패하는 이유: 잘못된 구문

제공된 JSON 데이터에 Python이 성공적으로 구문 분석하지 못하게 하는 오류가 표시됩니다. 근본 원인은 "마스크" 및 "매개 변수" 요소의 잘못된 구문에 있습니다.

JSON 객체와 배열의 구문

동일한 JSON 객체 Python의 사전은 중괄호 {}로 묶입니다. Python에서 목록으로 표시되는 배열은 대괄호 []로 묶여 있습니다.

JSON 데이터 오류

주어진 JSON 데이터가 { 대신 []를 잘못 사용하고 있습니다. } "마스크" 및 "매개변수" 이 구문 오류로 인해 오류 메시지가 표시됩니다.

json.decoder.JSONDecodeError: Expecting ',' delimiter: line 13 column 13 (char 213)

JSON 구문 수정

구문 오류를 수정하려면 "마스크" 및 "매개변수"를 묶는 대괄호를 사용하세요. 중괄호로 바꿔야 합니다. 수정된 JSON 데이터는 다음과 같습니다.

{
    "maps": [
        {
            "id": "blabla",
            "iscategorical": "0"
        },
        {
            "id": "blabla",
            "iscategorical": "0"
        }
    ],
    "masks": {
        "id": "valore"
    },
    "om_points": "value",
    "parameters": {
        "id": "valore"
    }
}

유효한 JSON 구문 분석을 위한 Python 코드

JSON 데이터가 수정되면 Python 코드가 이를 성공적으로 구문 분석할 수 있습니다. json.load() 메소드를 사용합니다. 제공된 코드는 다음과 같이 사용할 수 있습니다.

import json
from pprint import pprint

with open('data_fixed.json') as f:
    data = json.load(f)

pprint(data)

이 코드는 pprint() 함수를 사용하여 JSON 데이터의 내용을 읽을 수 있는 형식으로 인쇄합니다.

값 추출 from JSON

JSON 데이터를 구문 분석한 후 Python 사전 및 목록 구문을 사용하여 개별 값에 액세스할 수 있습니다. 예:

  • 데이터['maps'][0]['id']
  • data['masks']['id']
  • data ['om_points']

위 내용은 내 JSON 디코더가 실패하는 이유: 배열과 객체의 잘못된 구문?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.