본문 바로가기
파이썬

파이썬 중첩 된 JSON 데이터 구문 분석

by º기록 2021. 1. 3.
반응형

이 JSON 출력은 MongoDB 집계 쿼리에서 가져온 것입니다. 기본적으로 중첩 된 데이터 JSON을 ' total' '_ id' 값까지 다음과 같이 구문 분석해야합니다.

{
'ok': 1.0, 
'result': [
            {
                'total': 142250.0, 
                '_id': 'BC'
            }, 
            {
                'total': 210.88999999999996,
                 '_id': 'USD'
            }, 

            {
                'total': 1065600.0, 
                '_id': 'TK'
            }
            ]
}

필요한 것을 얻기 위해 5 가지 다른 기술을 시도했지만 json simplejson 모듈을 사용하여 문제가 발생했습니다.

이상적으로 출력은 다음과 같습니다.

142250.0, BC
210.88999999999996, USD
1065600.0, TK

 

해결 방법

 

참고 : MongoDB의 JSON 응답은 실제로 유효하지 않습니다. JSON에는 작은 따옴표 ( ')가 아니라 큰 따옴표 ( ")가 필요합니다.

왜 귀하의 응답에 큰 따옴표 대신 작은 따옴표가 있는지 잘 모르겠지만 모양을 보면 대체 할 수 있으며 내장 된 json 모듈을 사용할 수 있습니다.

from __future__ import print_function
import json

response = """{
    'ok': 1.0, 
    'result': [
        {
            'total': 142250.0, 
            '_id': 'BC'
        }, 
        {
            'total': 210.88999999999996,
             '_id': 'USD'
        }, 

        {
            'total': 1065600.0, 
            '_id': 'TK'
        }
        ]
}"""

# JSON requires double-quotes, not single-quotes.
response = response.replace("'", '"')
response = json.loads(response)
for doc in response['result']:
    print(doc['_id'], doc['total'])

 

참조 페이지 https://stackoverflow.com/questions/19729710

 

 

반응형

댓글