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)
  • 2016년 01월 13일에 작성됨

조회수 2638


1 답변


좋아요
0
싫어요
채택취소하기

우선, 코드가 안 돌아가는 이유는 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"]
  • 2016년 01월 13일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close