필자는 다른 클래스를 정확하게 처리하기 위해 자체 JSyncncoder를 구현하고 있습니다. 불행히도 내 사용자 지정 인코더가 잘못된 형식의 문자열을 반환합니다. 그들은 따옴표로 묶이고 특정 문자 (따옴표)는 이스케이프됩니다.사용자 정의 JSONEncoder가 잘못된 형식의 문자열을 반환합니다.
동작을 재현하려면 다음 코드를 사용하십시오 : 나는 파이썬 2.7 사용하고
import json
class CustomEncoder(json.JSONEncoder):
def default(self, givenObject):
#for testing purposes this always returns the same string
str = '{"id":0,"name":"Peter"}'
return str;
class AnyClass(object):
pass
encoder = CustomEncoder()
dummyClass = AnyClass()
#expected output: {"id":0,"name":"Peter"}
print encoder.encode(dummyClass)
#output: "{\"id\":0,\"name\":\"Peter\"}"
.
이 동작을 어떻게 막을 수 있습니까? 내가 뭘 잘못 했니? 객체를 반환하는 대신
str = '{"id":0,"name":"Peter"}'
return str;
시도의
감사합니다.이 부분을 놓쳐 버렸을 것입니다. 수정 된 코드와 문서에 대한 링크로 인해 답변을 올바른 것으로 표시하고 있습니다. – MOnsDaR