Подтвердить что ты не робот

Python Tuple для вывода JSON

Как это сделать:

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)

Спасибо

4b9b3361

Ответ 1

Используйте json library.

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

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)

Ответ 2

Существует библиотека json.

import json

jsonObj = json.dumps(data)

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