Reputation: 30111
How do I turn this:
data = ((1, '2011-01-01'), (2, '2011-01-02'), (1, '2011-01-15'), (3, '2011-02-01'))
into this:
{
"item": [
"1",
"2",
"1",
"3",
],
"settings": {
"axisx": [
"2011-01-01",
"2011-01-02",
"2011-01-15",
"2011-02-01"
],
"axisy": [
"0",
"100"
],
"colour": "ff9900"
}
}
Or rather, are there any helpful resources that I can read so that I would be able to produce that JSON output? So I know I need to 'transform' my data into the right data structure. After that is it as easy as json.dumps(data)
Thanks
Upvotes: 21
Views: 60766
Reputation: 10395
Use the json library.
Then convert your data using something like this:
somedict = { "item" : [ x[0] for x in data ],
"settings" : { "axisx" : [ x[1] for x in data ],
"axisy" : [ 0, 100],
"colour" : "ff9900" }
}
and call:
print json.dumps(somedict)
Upvotes: 39
Reputation: 789
There is a json library.
import json
jsonObj = json.dumps(data)
Thats for json serializing. If you want output be formatted in some other way than you initial data
variable, you should create another object, initialize it with values from data
in the way you need and than use json library for serialization.
Upvotes: 15