2013-04-17 1 views
1

Django json 라이브러리를 사용하여 Django 커서에서 가져온 데이터를 인코딩하는 반면, deserialize 한 후 datetimes가 유니 코드 형식으로 표시됩니다. 간단한 예 :Django JSON 사용자 정의 serial timeizing datetime 형식

만약 내가 틀렸어도 변수 유형을 존중해야합니다. 그렇다면 DjangoJSONDecoder와 같은 것이 있을지도 모릅니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 이것이 예상 된 행동입니까? json.loads (cls kwarg가)

답변

3

그것은 당신이해야한다고 생각하는 방법을 작동하지 않을 수 있습니다에 대한

+0

감사합니다. JSON에 날짜/시간 지원이 있다고 생각했지만 ISO 8601 표준화 노력을 확인했습니다.이 사실을 알기 때문에 다른 방법. – maraujop

0

사용자 정의 디코더 클래스를 지정하지 않았습니다. JSON에는 날짜/시간에 대한 기본 유형이 없으므로 Django 직렬 변환기가 datetime을 문자열로 변환하는 이유가됩니다. 하지만 일단 문자열이되면 문자열이됩니다. 디시리얼라이저는 한 번 datetimes 인 것을 알 수있는 방법이 없습니다. 일 수 있습니다. 원하는 경우 각 문자열에 strptime을 호출하여 더 많은 사용자 지정 deserializer를 작성하여 "해야"하는지 확인하십시오. 그러나 오버 헤드가 크고 데이터에 따라 오탐 (false positive)이 발생할 수 있습니다.

+0

'json.loads (encoded, cls = DjangoJSONEncoder)'이 (가) 'AttributeError :'DjangoJSONEncoder '객체에'decode '속성이 없습니다. – maraujop