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

제가 파이썬으로 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"]
    

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

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.