0

在我的代码中,我有:

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

长整数是主键。由于某种原因,此行会产生错误:

“[123L, 123L] 不是 JSON 可序列化的”

当我尝试在 python manage.py shell 中执行它时:

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

工作正常。

谁能告诉我发生了什么事?

确切的 Django 错误:

异常类型:TypeError 异常值:[123L] 不是 JSON 可序列化异常位置:默认为 /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 回答