Python Tuple для вывода в формате JSON - PullRequest
15 голосов
/ 23 февраля 2011

Как мне включить это:

data = ((1, '2011-01-01'), (2, '2011-01-02'), (1, '2011-01-15'), (3, '2011-02-01'))

в это:

{
    "item": [
     "1",
     "2",
     "1",
     "3",
    ],
    "settings": {
     "axisx": [
      "2011-01-01",
      "2011-01-02",
      "2011-01-15",
      "2011-02-01"
     ],
     "axisy": [
      "0",
      "100"
     ],
     "colour": "ff9900"
     }
}

Или, скорее, есть какие-нибудь полезные ресурсы, которые я могу прочитать, чтобы я мог производить этот вывод JSON? Так что я знаю, что мне нужно «преобразовать» мои данные в правильную структуру данных. После этого это так просто, как json.dumps(data)

Спасибо

Ответы [ 2 ]

34 голосов
/ 23 февраля 2011

Используйте библиотеку json .

Затем преобразуйте ваши данные, используя что-то вроде этого:

somedict = { "item"     : [ x[0] for x in data ],
             "settings" : { "axisx" : [ x[1] for x in data ],
                            "axisy" : [ 0, 100],
                            "colour" : "ff9900" }
           }

и позвоните:

print json.dumps(somedict)
9 голосов
/ 23 февраля 2011

Имеется библиотека json .

import json

jsonObj = json.dumps(data)

То для сериализации JSON. Если вы хотите, чтобы выходные данные были отформатированы не так, как исходная переменная data, вы должны создать другой объект, инициализировать его значениями из data так, как вам нужно, и затем использовать библиотеку json для сериализации.

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