python での JSON の扱いについてわすれるのでメモ。
json.dumps
json.dumps()に入れた変数を JSON string に変換する。
>>> import json
>>> data = {'abc': 123}
>>> type(data_json)
<class 'str'>
>>> data_json = json.dumps(data)
>>> data_json
'{"abc": 123}'
json.loads
json.loads(JSON string) で python dictionary に型を変換する。
>>> import json
>>> data = {'abc': 123}
>>> type(data_json)
<class 'str'>
>>> data_json = json.dumps(data)
>>> data_json
'{"abc": 123}'
>>> load_json = json.loads(data_json)
>>> load_json
{'abc': 123}
>>> type(load_json)
<class 'dict'>
>>> load_json['abc']
123
Django Rest Framework
Serializerでの Create, Update, Delete
"”” Create obj "””
data = {'user': 1}
serializer = StatusSerializer(data=data)
serializer.is_valid() # is_validでデータを検証しないと .save() でエラーが出る
serializer.save()
"”” Update obj "””
obj = Status.objects.first()
data = {'content': 'some new content', 'user': 1}
update_serializer = StatusSerializer(obj, data=data)
update_serializer.is_valid()
update_serializer.save
update_serializer.errors
{'user': ['This field is required.']}
"”” Delete obj "””
obj = Status.objects.last()
obj.delete()
Delete は Serializerを使わず、objectを取得して削除。