chunked_json.py 644 B

123456789101112131415161718192021222324252627
  1. # -*- coding: utf-8 -*-
  2. """Module to generate chunked JSON replies."""
  3. #
  4. # Author: Adrian Sampson <adrian@radbox.org>
  5. # Source: https://gist.github.com/sampsyo/920215
  6. #
  7. from __future__ import absolute_import
  8. from __future__ import division
  9. from __future__ import print_function
  10. from __future__ import unicode_literals
  11. import json
  12. def loads(s):
  13. """Generate a sequence of JSON values from a string."""
  14. _decoder = json.JSONDecoder()
  15. while s:
  16. s = s.strip()
  17. obj, pos = _decoder.raw_decode(s)
  18. if not pos:
  19. raise ValueError('no JSON object found at %i' % pos)
  20. yield obj
  21. s = s[pos:]