我有需要在REST框架的响应中显示的JSON数据。
JSON数据是从另一个来源动态获取的。因此,它将不断变化,但采用以下标准格式。
JSON格式(范围从0到50):
{
1:
{
'Title': 'A1: Accused No. 1',
'Category': 'Movies',
'Size': '1.38GB',
'Date': 'Feb 29, 2020, 5:13:25 PM'
},
2: {
'Title': 'Sivappu Manjal Pachai',
'Category': 'Movies',
'Size': '744.26MB',
'Date': 'Feb 29, 2020, 5:13:25 PM'
}
}
以上数据存储在字典变量中。数据是动态的,我希望Django REST框架完全按照上面的嵌套格式显示内容。
首先,您需要创建如下的序列化器类。您可以查看序列化器字段here
serializers.py
class YourDataSerializer(serializers.Serializer):
Title = serializers.CharField()
Category = serializers.CharField()
Size = serializers.CharField()
Date = serializers.CharField()
class YourSerializer(serializers.Serializer):
data_body = serializers.DictField(child=YourDataSerializer(), many=True)
您必须创建一个网址并输入APIView
views.py
class YourAPIView(APIView)
def get (self, request, *args, **kwargs):
# another_data = The JSON data is fetched dynamically from another source.
serializer = YourSerializer(data=another_data)
return Response(serializer.data, status=status.HTTP_200_OK)
urls.py
urlpatterns = [
path('your-path', YourAPIView.as_view())
]