2012-04-12 28 views
1

私は、djangoでsimplejson関数を使用すると、すべての文字列が一重引用符で囲まれ、jsonオブジェクト文字列全体が二重引用符で囲まれていることに気付きました。この文字列をJSON.parseに渡すと、オブジェクト全体を囲むために一重引用符を使用し、文字列を二重引用符で囲むため、エラーが発生します。私はjavascriptの置き換えでそれらを切り替えることができますが、私はアポストロフィのようなケースを考慮する必要がありますが、より良い方法があると確信しています。 JSON.parseの形式にオブジェクト文字列を出力するdjangoのsimplejsonを取得する方法はありますか?Django json一重引用符と二重引用符?

さらに詳しい情報:

Djangoのビュー:JavaScriptの文字列は

であることが判明何

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

"[{ 'A': 'りんご'}]"

答えて

4

更新 str()をリストのまわりで削除してください。単純にsimplejson.dumps(list)です。 str()リストを文字列に変換すると、クライアント側には"[{'a': 'apple'}]"が得られます。

simplejsonが単一引用符で囲んでいるデモに質問を更新できますか?

django.utils.simplejsonは、通常、w/JSON specificationに準拠しています。ラップには一重引用符は使用されません。あなたは彼らは、Pythonの表記だ

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

を意味する場合は、直接(最初のものががOKである)JSON.parseでそれらを使用する必要はありません。

+2

さらに詳しい情報が追加されました。あなたのユーザーの画像が好きです – Derek

+0

=)、回答を – okm

+0

cool thanks 3char – Derek

関連する問題