피라미드를 사용하여 json으로 덤프하려는 객체의 계층 구조가 있습니다. 호출 된 __json__ 또는 어댑터 내부에서 사용자 정의 피라미드 json 렌더러를 다시 사용하는 방법은 무엇입니까?
이러한 개체 중 일부
은 그래서 하나가 JSON을 구현하거나 어댑터의 내가 등록한 사용자 정의 json_renderer에 등록이 직렬화 상자 JSON에서없는 (그래서 날짜와 같은 원숭이 패치 것들을 할 필요가 없습니다). 그들이 중첩되어 있기 때문에이 어댑터를 인식하지 이후의 (a 날짜가 계층 구조 아래로 더있어 예 :) 난 그냥 내 클래스 내에서 JSON을 json.dumps를 호출 할 수 없습니다.
소스를 통해 읽은 다음 디버거를 통해 실행하고 레지스트리에서 렌더러를 가져 와서 그와 관련된 정보를 얻으려고합니다. 그러나 나는 그것이 의도 된 방법이라고 생각하지 않는다. 분명히 뭔가 깨끗한가? 불행히도 문서의 모든 예제는 사소한 것입니다.
json_dump_using_renderer()에서 호출하는 사용자 정의 json 렌더러에 직렬화를 어떻게 다시 전달할 수 있습니까?
def custom_json_renderer():
def datetime_adapter(obj, request):
return obj.isoformat()
json_renderer = JSON()
json_renderer.add_adapter(datetime.datetime, datetime_adapter)
class Whatever(object):
def __init__(self, item):
self.item = item
def __json__(self):
return "{ item: " + json_dump_using_renderer(obj.items) + "}"
__json__ 메서드도 요청을 전달할 수 있다는 것을 알지 못했습니다. 감사합니다. – juhanic