如何在Django Rest Framework中没有模型的情况下直接显示动态嵌套JSON?

问题描述 投票:0回答:1

我有需要在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框架完全按照上面的嵌套格式显示内容。

django django-models django-rest-framework django-views django-urls
1个回答
0
投票

首先,您需要创建如下的序列化器类。您可以查看序列化器字段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())
]
© www.soinside.com 2019 - 2024. All rights reserved.