JSON파일을 파이썬으로 읽는 법

조회수 47092회

제가 파이썬으로 json파일 전체를 읽는 코드를 짰는데 돌아가질 않아요

그리고 저는 파일 전체를 읽는 게 아니라 값 하나씩 뽑아서 쓰고 싶은데 어떻게 하면 되나요?

소스코드-JSON

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

소스코드 - python

json_data=open(file_directory).read()

data = json.loads(json_data)
pprint(data)

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    우선, 코드가 안 돌아가는 이유는 json파일이 잘못됐기 때문입니다. {}를 써야 할 곳에 []를 쓰셨네요. {}는 dictionary고 []는 리스트입니다

    json

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

    이렇게 하면 작성해 놓으신 코드로 파일 전체를 읽을 수 있을 겁니다.

    그리고 값을 하나하나 읽으려면 python 코드는 다음과 같이 쓰세요

    python

    import json
    from pprint import pprint
    
    with open('data.json') as data_file:    
        data = json.load(data_file)
    
    pprint(data) #data는 json 전체를 dictionary 형태로 저장하고 있음
    
    #-----여기까지 동일-----
    
    data["maps"][0]["id"] #값 하나하나 접근하기
    data["masks"]["id"]
    data["om_points"]
    

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.