Ben Sandler Ben Sandler - 1 year ago 164
Python Question

TypeError when converting dictionary to JSON array

How do I take a python dictionary where the keys and values are Strings and convert it into a JSON String.

This is what I have right now:

import json

def create_simple_meeting(subject, startDate, endDate, location, body):
info = dict()
if(subject != ""):
info["subject"] = subject
if(startDate != ""):
info["startDate"] = startDate
if(endDate != ""):
info["endDate"] = endDate
if(body != ""):
info["body"] = body
if(location != ""):
info["location"] = location

create_simple_meeting("This is the subject of our meeting.","2014-05-29 11:00:00","2014-05-29 12:00:00", "Boca Raton", "We should definitely meet up, man")

And it gives me this error

File "/Users/bens/Documents/workspace/Copy of ws1 for py java playing/opias/robot/libs/", line 15, in create_simple_meeting
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/", line 243, in dumps
return _default_encoder.encode(obj)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/", line 207, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/", line 270, in iterencode
return _iterencode(o, 0)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/", line 184, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <type 'dict'> is not JSON serializable

Answer Source

You are trying to serialise the type object, dict, instead of info. Dump the right variable:

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download