将类序列化为json for python / gae

时间:2011-08-05 23:07:26

标签: python google-app-engine

[noob question] 在GAE上运行的python中将类编码为JSON的最简单方法是什么?不使用Django,也不使用GAE内置的任何东西。

我的课程定义如下:

class Sample:
    def __init__(self, myName, myEmail, myLocality, myAliases, myRoles):
        self.name = myName;
        self.email = myEmail;
        self.locality = myLocality
        self.aliases = myAliases;        # this is a list of strings
        self.roles = myRoles             # this is a dictionary

我想转换它,所以它在json中看起来像这样:

{sample: 
    name: "a name value",
    email: "whatever email value",
    aliases: [alias1, alias2, alias3],
    locality: "some locality value",
    roles: {
        name: "some name value",
        type: "some type value",
        aux: "additional information"
        }
}

我计划将此作为请求的响应数据返回。

我是否需要为我的'Sample'类提供自定义编码器类?

2 个答案:

答案 0 :(得分:3)

这个怎么样:

>>> import json
>>> json.dumps(Sample(1, 2, [3, 4], 4, {5: 5, 5: 5}).__dict__)
1: '{"aliases": 4, "locality": [3, 4], "name": 1, "roles": {"5": 5}, "email": 2}'

答案 1 :(得分:-1)

来自json.org

的Python:

  1. Python标准库。
  2. simplejson。
  3. pyson。
  4. Yajl-PY。
  5. http://www.json.org/中的链接(查看列出不同语言和平台的库的底部部分)

    对于内置方式:

    http://docs.python.org/library/json.html