Сериализация класса в json для python / gae - PullRequest
1 голос
/ 06 августа 2011

[вопрос noob] Какой самый простой способ кодировать класс в JSON в python, работающем на GAE?Не используя 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"
        }
}

Я планирую вернуть это в качестве данных ответа на запрос.

Нужно ли придумать собственный класс Encoder для моего класса 'Sample'?

Ответы [ 2 ]

3 голосов
/ 06 августа 2011

Как насчет этого:

>>> 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}'
0 голосов
/ 06 августа 2011

с сайта json.org

Python:

  1. Стандартная библиотека Python.
  2. simplejson.
  3. pyson.
  4. Yajl-Py.

Ссылки найдены в http://www.json.org/ (посмотрите в нижней части, где перечислены библиотеки для разных языков и платформ)

Для встроенного способа:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...