2012-04-12 212 views
1

我注意到,如果你在django中使用simplejson函數,所有的字符串都用單引號括起來,整個json對象字符串用雙引號引起來。當我把這個字符串交給JSON.parse時,它給了我一個錯誤,因爲他們想用單引號將整個對象和雙引號括起來。我可以用javascript替換它們,但是我不得不考慮像撇號這樣的情況,但我確信有更好的方法。有沒有辦法讓django的simplejson將對象字符串輸出爲JSON.parse的格式?Django json單引號和雙引號?

更多信息:

Django的看法:

def view(request): 
    list = [{"a":"apple",},] 
    return HttpResponse(simplejson.dumps(str(list)), mimetype="application/json") 

的JavaScript字符串轉出什麼是

「[{ '一': '蘋果'}]」

回答

4

更新 刪除str()附近的清單,只需simplejson.dumps(list)str()將列表轉換爲字符串,因此您在客戶端獲得了"[{'a': 'apple'}]"

你可以更新的問題演示其中simplejson包圍字符串瓦特/單引號?

django.utils.simplejson,通常符合w/JSON specification並且不使用單引號來包裝東西。如果你的意思

>>> from django.utils.simplejson import dumps 
>>> dumps("Hello") 
'"Hello"' # single quotes here 
>>> repr(dumps("Hello")) 
'\'"Hello"\'' # or here 

他們的Python的符號,你不想直接使用它們JSON.parse(第一個是OK雖然)。

+2

更多信息被添加,再加上我喜歡你的用戶圖片 – Derek 2012-04-12 02:43:35

+0

=),更新了答案 – okm 2012-04-12 04:31:50

+0

很酷謝謝3char – Derek 2012-04-12 04:34:19