serializing JSON files with newlines in Python

Posted by user248237 on Stack Overflow See other posts from Stack Overflow or by user248237
Published on 2010-04-19T01:48:51Z Indexed on 2010/04/19 1:53 UTC
Read the original article Hit count: 394

Filed under:
|
|
|
|

I am using json and jsonpickle sometimes to serialize objects to files, using the following function:

def json_serialize(obj, filename, use_jsonpickle=True):
    f = open(filename, 'w')
    if use_jsonpickle:
    import jsonpickle
    json_obj = jsonpickle.encode(obj)
    f.write(json_obj)
    else:
    simplejson.dump(obj, f) 
    f.close()

The problem is that if I serialize a dictionary for example, using "json_serialize(mydict, myfilename)" then the entire serialization gets put on one line. This means that I can't grep the file for entries to be inspected by hand, like I would a CSV file. Is there a way to make it so each element of an object (e.g. each entry in a dict, or each element in a list) is placed on a separate line in the JSON output file?

thanks.

© Stack Overflow or respective owner

Related posts about python

Related posts about JSON