본문 바로가기
파이썬

파이썬 Python으로 JSON에 대한 개체 목록

by º기록 2020. 12. 6.
반응형

Object 인스턴스를 JSON으로 변환하는 데 문제가 있습니다.

ob = Object()

list_name = scaping_myObj(base_url, u, number_page)

for ob in list_name:
   json_string = json.dumps(ob.__dict__)
   print json_string

list_name 에는 Object 인스턴스 목록이 있습니다.

json_string 반환, 예 :

{"city": "rouen", "name": "1, 2, 3 Soleil"}
{"city": "rouen", "name": "Maman, les p'tits bateaux"}

하지만 목록의 모든 정보가 포함 된 JSON 문자열 1 개를 원합니다.

[{"city": "rouen", "name": "1, 2, 3 Soleil"}, {"city": "rouen", "name": "Maman, les p'tits bateaux"}]

 

해결 방법

 

목록 이해를 사용하여 사전 목록을 생성 한 다음이를 변환 할 수 있습니다.

json_string = json.dumps([ob.__dict__ for ob in list_name])

또는 default 함수를 사용하십시오. json.dumps () 는 직렬화 할 수없는 모든 항목을 호출합니다.

def obj_dict(obj):
    return obj.__dict__

json_string = json.dumps(list_name, default=obj_dict)

후자는 목록뿐만 아니라 구조의 모든 수준에 삽입 된 개체에 대해 작동합니다.


from marshmallow import Schema, fields

class ObjectSchema(Schema):
    city = fields.Str()
    name = fields.Str()

object_schema = ObjectSchema()
json_string = object_schema.dumps(list_name, many=True)

 

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

 

 

반응형

댓글