Hi Prashant I think he wants the duplicates to be loaded, not cause an exception.
Jayanth On Fri, Mar 21, 2014 at 3:15 PM, Prashant Gaur <91prashantg...@gmail.com>wrote: > Hi Lokesh, > > we can pass lookup while parsing your json file which will make sure that > name is repetitive or not . > > import json > > def duplicate_checking_hook(pairs): > ''' lookup for duplicate names''' > result = dict() > for key, val in pairs: > if key in result: > raise KeyError('Duplicate Key specified: %s % key) > result[key] = val > return result > > >>> json.loads('''{"test":"hi","test":"bye"}''', > object_pairs_hook=duplicate_checking_hook) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/usr/lib/python2.7/json/__init__.py", line 339, in loads > return cls(encoding=encoding, **kw).decode(s) > File "/usr/lib/python2.7/json/decoder.py", line 366, in decode > obj, end = self.raw_decode(s, idx=_w(s, 0).end()) > File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode > obj, end = self.scan_once(s, idx) > File "<stdin>", line 5, in duplicate_checking_hook > KeyError: u'Duplicate key specified: a' > > While > > >>> json.loads('''{"test":"hi","test1":"bye"}''', > object_pairs_hook=duplicate_checking_hook) > {u'test': u'hi', u'test1': u'bye'} > >>> > > > > def dupe_checking_hook(pairs): > result = dict() > for key,val in pairs: > if key in result: > raise KeyError("Duplicate key specified: %s" % key) > result[key] = val > return result > > > > > > On Fri, Mar 21, 2014 at 2:59 PM, lokesh bobby <lokeshbob...@yahoo.com>wrote: > >> Hi Jayanth, >> >> Ideally speaking a JSON shouldn't be created with repetitive key names. >> But manually it is possible that a proper JSON file can be appended with a >> duplicate key. We need to catch that duplicate key. If we are going to use >> json.load(), the repetitive keys of the JSON file wont get loaded. Only the >> last occurrence of the key will be there in that loaded data. >> >> Instead I want that entire data in JSON file should be loaded. Hoping >> that you got the point what I want :-) >> >> Thanks, >> Lokesh. >> >> >> >> >> >> On Friday, 21 March 2014 2:45 PM, Jayanth Koushik <jnkous...@gmail.com> >> wrote: >> >> Hi Lokesh >> >> >> The 'problem' that you talk about isn't really a problem. Since the JSON >> specification does not say what is to be done for repeated names, it is up >> to the implementation to decide. What is your requirement for handling >> repeated names? >> >> >> Jayanth >> >> >> >> >> On Fri, Mar 21, 2014 at 2:30 PM, lokesh bobby <lokeshbob...@yahoo.com> >> wrote: >> >> Hi Noufal, >> > >> >Thanks for your reply. I am not looking for loading the JSON file. There >> is a limitation in it. Go thru the links >> > >> > >> http://docs.python.org/2/library/json.html#repeated-names-within-an-object >> > >> http://docs.python.org/3.2/library/json.html#repeated-names-within-an-object >> > >> >In order to get rid of that problem, I am looking for some JSON stream >> parsers. >> > >> >Thanks, >> >Lokesh. >> > >> > >> > >> > >> >On Friday, 21 March 2014 2:09 PM, Noufal Ibrahim KV < >> nou...@nibrahim.net.in> wrote: >> > >> >On Fri, Mar 21 2014, lokesh bobby wrote: >> > >> > >> >> Hi ALL, >> >> >> >> Can you share your thoughts on how to parse a JSON file by using >> >> python? >> > >> >import json >> > >> >with open("data.json") as f: >> > json.load(f) >> > >> > >> >[...] >> > >> > >> >-- >> >Cordially, >> >Noufal >> >http://nibrahim.net.in >> >_______________________________________________ >> >BangPypers mailing list >> >BangPypers@python.org >> >https://mail.python.org/mailman/listinfo/bangpypers >> > >> _______________________________________________ >> BangPypers mailing list >> BangPypers@python.org >> https://mail.python.org/mailman/listinfo/bangpypers >> > > > > -- > Prashant Gaur > > Mobile : +91 9717353657 > http://gaurprashant.blogspot.in/ > http://stackoverflow.com/users/1850358/prashant-gaur > http://www.about.me/prashantgaur/ > > _______________________________________________ BangPypers mailing list BangPypers@python.org https://mail.python.org/mailman/listinfo/bangpypers