Serializing data into JSON or CSV formats

The JSON and CSV serializers are similar because both rely on Python's libraries to serialize. The libraries are inherently imperative, so the function bodies are strict sequences of statements.

Here's the JSON serializer:

import json@to_bytesdef serialize_json(series: str, data: List[Pair]) -> str:    """    >>> data = [Pair(2,3), Pair(5,7)]    >>> serialize_json( "test", data )    b'[{"x": 2, "y": 3}, {"x": 5, "y": 7}]'    """    obj = [dict(x=r.x, y=r.y) for r in data]    text = json.dumps(obj, sort_keys=True)    return text

We created a list-of-dict structure and used the json.dumps() function to create a string representation. The JSON module requires a materialized list object; we can't provide a lazy generator function. ...

Get Functional Python Programming - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.