谷歌appengine,ndb和Json

时间:2012-04-18 15:08:00

标签: json google-app-engine app-engine-ndb

我有一个属性,我将其存储为JSON对象,如下所示:

content  = ndb.JsonProperty()

当我这样做时,我收到此错误:

   line 1614, in _to_base_type
    return json.dumps(value, 2)
AttributeError: 'module' object has no attribute 'dumps'

在ndb模型类中。

作为ndb.TextProperty,它可以正常运行。也许我发送JSON错误,这是我发送的JSON对象:

{posttext: "What is your earliest memory of WWII?", linkdata: ""}

2 个答案:

答案 0 :(得分:11)

你的应用中是否有一个名为'json.py'的模块或一个名为'json'的包?这将覆盖ndb尝试导入的json模块。解决方案是为该模块或包选择一个不同的名称。

答案 1 :(得分:1)

我所描述的内容在我尝试时效果很好:

from google.appengine.ext import ndb
class TestModel(ndb.Model):
  foo = ndb.JsonProperty()
t = TestModel(foo={"posttext": "What is your earliest memory of WWII?", "linkdata": ""})
t.put()
Key('TestModel', 7001)

您是否可以详细了解您的具体操作方式?它与上面的代码段有什么不同?