Hi all,
I'm trying an example (in attached file, I mean the bottom of this message). First, I create a list of 3 objects. Then I do: PutJSONObjects(objects) objects = GetJSONObjects() PutJSONObjects(objects, "objects2.json") 1) PutJSONObjects(objects) method creates objects.json file (by default). It works fine. 2) Then objects = GetJSONObjects() method get the file contents and return. 3) Finally the script fails on the third method PutJSONObjects(objects, "objects2.json") saying: AttributeError: 'dict' object has no attribute '__dict__' That is true, because objects returned by GetJSONObjects() is not a list of objects, but simple string.... So here is the question, please, how should I DECODE .json file into list of python objects so that I will be able to put the copy of these objects into a new file called objects2.json ? simplejson docs are hard to follow - without examples. Please, help me. Be happy! Arthur -------- # Python-JSON method for caching my objects. import simplejson as json import os.path from datetime import datetime def GetJSONObjects(): # determine the json data file path filename = "objects.json" filepath = "/home/docmccoy/Documents/" + filename if os.path.isfile(filepath): filename = filepath f = open(filename, 'r') objects = json.load( f ) print objects else: objects = list() return objects def PutJSONObjects(objects, filename = "objects.json"): # determine the json data file path filepath = "/home/docmccoy/Documents/" + filename if os.path.isfile(filepath): filename = filepath f = open(filename, 'w') json.dump([o.__dict__ for o in objects], f, indent = 4 * ' ' ) class MyObject: def __init__(self, ID, url, category, osfamily, createDate): self.id = ID self.url = url self.category = category self.osfamily = osfamily self.createDate = createDate o1 = MyObject(1, "http://google.com", "search", "linux", unicode(datetime.now())) o2 = MyObject(2, "http://localhost", "mycomp", None, unicode(datetime.now())) o3 = MyObject(3, "http://milan.com", "football", "windows", unicode(datetime.now())) objects = list() objects.append(o1) objects.append(o2) objects.append(o3) PutJSONObjects(objects) objects = GetJSONObjects() PutJSONObjects(objects, "objects2.json") -- http://mail.python.org/mailman/listinfo/python-list