django轉(zhuǎn)json格式:
models表下面加:
def toJSON(self):
? ? return json.dumps(dict([(attr, getattr(self , attr))for attrin [f.namefor fin self._meta.fields]]), default=JsonDefault,ensure_ascii=False)
def toDict(self):
? ? return dict([(attr, getattr(self , attr))for attrin [f.namefor fin self._meta.fields]])
碰到的問(wèn)題:
1:第一個(gè)時(shí)間類型不能轉(zhuǎn)換
2:第二個(gè)返回的json中文是utf-8格式
在一個(gè)py文件里面定義一個(gè):
def JsonDefault(obj):
? ? if isinstance(obj, datetime.datetime):
? ? ? ? return obj.strftime('%Y-%m-%d %H:%M:%S')
else:
? ? ? ? raise TypeError('%r is not JSON serializable' % obj)
然后在轉(zhuǎn)化json()后轉(zhuǎn)換一下:
return HttpResponse(json.dumps(result, default=JsonDefault(支持時(shí)間類型格式), ensure_ascii=False(就支持中文)))