2012-12-19 19 views
2

我正在使用django +活塞,並且迄今爲止創建了一些以json格式返回我的django模型的url。我甚至沒有指定發射器,JSON序列化是自動完成的。Django活塞。如何序列化爲不是Model子類的JSON對象?

現在我需要返回一個不擴展Django Model類的JSON序列化對象。如果我返回它的值,活塞返回__ str __值,即使我添加JSON發射器也沒有任何反應。我不想在__ str __方法中添加JSON序列化,因爲它不正確。 這是什麼方法?

+1

我會高度推薦使用http://tastypieapi.org/ over Piston。 – Brandon

回答

1

你可以使用python的json包來做到這一點。

段:

>>> import json 
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) 
'["foo", {"bar": ["baz", null, 1.0, 2]}]' 

如果您正在尋找在Django視圖的情況下創建這個,你要確保你發回正確的內容類型。也就是,

from django.http import HttpResponse 
return HttpResponse(your_json_string, mimetype='application/json') 

請注意,這不一定適用於所有類型的一般情況。構建一個包含你想要返回的東西的dict通常是一個好主意,然後序列化它。

相關問題