# test ujson.dump in combination with uio.IOBase try: import uio as io import ujson as json except ImportError: try: import io, json except ImportError: print('SKIP') raise SystemExit if not hasattr(io, 'IOBase'): print('SKIP') raise SystemExit # a user stream that only has the write method class S(io.IOBase): def __init__(self): self.buf = '' def write(self, buf): if type(buf) == bytearray: # uPy passes a bytearray, CPython passes a str buf = str(buf, 'ascii') self.buf += buf return len(buf) # dump to the user stream s = S() json.dump([123, {}], s) print(s.buf)