21

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

2
  • Where does the axisy bit come from? Commented Feb 23, 2011 at 7:04
  • I figured :) See conversion code below... Commented Feb 23, 2011 at 7:13

2 Answers 2

39

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)
Sign up to request clarification or add additional context in comments.

2 Comments

Thanks, this was exactly what I needed. I'm still a beginner in Python as you can see!
am new to python...can we use these libraries (json or simplejson) to serialize/deserialize objects which are extensively used by python developers say pandas dataframe, series etc.
15

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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.