json - 如何获取 API 的嵌套对象
问题描述
我有这样的数据:
{
"id": 56,
"number": "82467",
"date": "2021-08-19",
"exams": [
{
"type": "fff123",
"stamp": "2021-08-19R17:00:17",
"review": [
{
"code": "1118",
"value": "3",
}
],
},
{
"type": "nnn123",
"stamp": "2021-08-19R12:00:47",
"review": [
{
"code": "1120",
"value": "1",
},
{
"code": "1121",
"value": "2",
},
]
}
]
}
而这堂课views.py
class ResultViewSet(viewsets.ReadOnlyModelViewSet):
queryset = Result.objects.all()
serializer_class = ResultSerializer
lookup_field = 'number'
lookup_url_kwarg = 'number'
def get_object(self):
number = self.kwargs['number']
type = self.kwargs['type']
obj = get_object_or_404(self.queryset.filter(number=number))
filtered_exams = list(filter(lambda x: x['type'] == type, obj.exams_data))
我必须在哪里写什么?在那里,我必须在 serializer.py 中为这个 obj 的序列化程序实例获取嵌套的 JSON(在这一点上,我可能必须json.dumps(filtered_exams)
或做其他事情才能从我的 obj 中取出嵌套的 JSON 字段)。我不知道该怎么做。最后我想要:
对于网址http://result/82467/fff123
{
"code": "1118",
"value": "3"
}
对于网址http://result/82467/nnn123
{
"code": "1120",
"value": "1",
},
{
"code": "1121",
"value": "2"
}
我的问题是如果我必须获取嵌套的 JSON - “考试”JSONField()
在我的 Result 模型中,然后从中获取 JSON 对象。我所有的 URL 和序列化程序只有在这种情况下才有问题。
解决方案
推荐阅读
- python - 将元数据添加到 tflite 图像分割器模型(具有多个输出)
- debhelper - 没有构建工具的 Debian 打包
- python - 课堂谷歌更新答案
- flutter - 如何将我的设备连接到 Moor Inspector
- javascript - 如何将对象传递给 Web 组件生成的宽度 Vue?
- python - 文本或 Excel 文件中的异常 ID
- r - 为带有线条的条形图设置相应的颜色
- r - R - 每组一起计算两列中的唯一/不同值
- docker - 在 docker 中使用 cuda 11.2 和 Ubuntu 20.04 映像时出错
- wordpress - 无法在 Elementor 中保存更改,文档已在保存进度中