Welcome to JSON:API ORM’s documentation!¶
Quick and dirty ORM that maps JSON:API responses to object attributes.
- Free software: BSD license
- Documentation: https://jsonapi-orm.readthedocs.io.
- Requirements: Python 3.5+
Use Requests or (if you are a masochist) Python’s built-in urllib modules to make the request to your JSON:API service and from there pass the response to JSON:API ORM.
So, first install requests and this lib:
pip install requests pip install jsonapi-orm
Switch to your Python code and use the magic!
import requests from jsonapi_orm import response_to_obj # list of items r = requests.get('https://raw.githubusercontent.com/mislavcimpersak/jsonapi-orm/master/tests/responses/example_list.json') obj = response_to_obj(r.json()) print('LIST OF ITEMS:') for item in obj.data: print(item.title) # author is defined as a relationship print(item.author.twitter) # single item r = requests.get('https://raw.githubusercontent.com/mislavcimpersak/jsonapi-orm/master/tests/responses/example_single.json') obj = response_to_obj(r.json()) print('SINGLE ITEM') print(obj.data.title) # author is defined as a relationship print(obj.data.author.id) print(obj.data.author.twitter)
- Since Python object attribute names have certain rules like not starting with a number or not containing “-” char, all such attributes can be accessed using
- If relationship is not described in more detail in the
includedpart of the response matching fails silently.
- For now, this lib does not lazily follow relationship links or anything like that. You can of course make a new request to the given link and pass that response to JSON:API ORM.
- For now, there is no check if response is a valid JSON:API response. But you’ll probably get that you are trying to parse an invalid response when things start to break.
- And last, this lib requires Python 3.5 or newer.
- Welcome to JSON:API ORM’s documentation!
- Indices and tables