On 17 Jul 2013 20:40, "Sol Toure" <sol2...@gmail.com> wrote: > > I didn't look into using YAML processor. > Also that would have required pre-processing the data to add the separators. > With this method you don't need the separators. You can have 0 or more white space between objects: > > for obj in JSONStream(StringIO('''{"one":1}{"two":2} {"three":3} 4 {"five": 5}''')): > print(obj) > > {"one":1} > {"two":2} > {"three":3} > 4 > {"five":5} > > It solved my problem, so I thought someone might find it useful. > > > > On Wed, Jul 17, 2013 at 11:51 AM, Clark C. Evans <c...@clarkevans.com> wrote: >> >> Looks interesting. In YAML we used three dashes as the "stream separator". >> So already a YAML processor could handle a JSON stream ... >> >> >>> for doc in yaml.load_all(""" >> ... --- {"one": "value"} >> ... --- {"two": "another"} >> ... --- >> ... {"three": "a third item in the stream", >> ... "with": "more data"} >> ... """): >> ... print doc >> ... >> {'one': 'value'} >> {'two': 'another'} >> {'with': 'more data', 'three': 'a third item in the stream'}
I think this could be useful for the twitter stream api. It feeds \n-separated json objects over time.
-- http://mail.python.org/mailman/listinfo/python-list