首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >google应用程序引擎jsonpickle

google应用程序引擎jsonpickle
EN

Stack Overflow用户
提问于 2010-01-05 10:34:55
回答 2查看 1.5K关注 0票数 4

有没有人让jsonpickle在google app引擎上工作?我的日志上说没有模块,但有一个模块就像你出生时一样确定。我使用的是jsonpickle 0.32。

代码语言:javascript
复制
<type 'exceptions.ImportError'>: No module named jsonpickle
Traceback (most recent call last):
  File "/base/data/home/apps/xxxxx/xxxxxxxxxxxxxxxxx/main.py", line 4, in <module>
    import jsonpickle
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-05 23:14:19

我已经成功地将django.utils.simplejson注册为json编码器/解码器。在这个真实的文件中,index.py类Pizza被编码和解码:

代码语言:javascript
复制
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

import jsonpickle

class Pizza:
    pass                

class Example(webapp.RequestHandler):
    def get(self):
        jsonpickle.load_backend('django.utils.simplejson',
                                'dumps','loads',ValueError)
        encoded = jsonpickle.encode(Pizza())
        self.response.out.write( jsonpickle.decode(encoded).__class__ )

run_wsgi_app(webapp.WSGIApplication([('/', Example),],debug=True))
票数 4
EN

Stack Overflow用户

发布于 2010-01-05 10:45:15

正如this post解释的那样,jsonpickle需要几个底层JSON模块中的一个。我将解决这个问题,如下所示--将以下几行放在需要jsonpickle的模块的顶部:

代码语言:javascript
复制
import sys
import django.utils.simplejson
sys.modules['simplejson'] = django.utils.simplejson

这解决了这个问题: jsonpickle需要simplejson (作为它可以使用的JSON模块之一),但是GAE将它作为django.utils.simplejson,所以您需要适当地给它加上“别名”。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2003817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档