0

私のコードでは:

json.dumps({'foo': {'bar': [123L, 123L]}})

long int は主キーです。この行は何らかの理由でエラーを生成します:

「[123L, 123L] は JSON シリアライズ可能ではありません」

python manage.py シェルで実行しようとすると:

json.dumps({'foo': {'bar': [123L, 123L]}})

正常に動作します。

誰が何が起こっているのか教えてもらえますか?

正確な Django エラー:

例外の種類: TypeError 例外の値: [123L] is not JSON serializable 例外の場所: /usr/lib/python2.7/dist-packages/simplejson/encoder.py デフォルトの 192 行目

4

1 に答える 1

5

これは私のために働く:

from django.db.models.query import ValuesListQuerySet

def default(o):
    if isinstance(o, ValuesListQuerySet):
        return list(o)
    raise TypeError(repr(o) + " is not JSON serializable")

json.dumps(valueListObject, default=default)
于 2012-01-23T03:14:50.737 に答える