django rest framework - 数据解析
2015-10-29 11:07
148 查看
摘要 parser.py是rest-framework的数据解析模块, 它能够解析大多数的数据格式(json,xml,yaml)
?
所有数据解析的类都是BaseParser的子类。
?
从parse方法的注释,也可以看出parse返回的可能是解析后的数据,也有可能是DataAndFiles对象。
parse方法中的参数:stream即为要解析的数据,
parse_context为需要解析时需要提供的配置,
?
可以看出DataAndFiles仅仅是data和files的集合。只有MultiPartParser和FileUploadParser才返回DataAndFiles对象。
parser.py一共有以下多种类,JSONParser,YAMLParser,FormParser,MultiPartParser,XMLParser,FileUploadParser。
首先看JSONParser的定义:
?
通过parse_context获取encoding,然后解码stream,利用json库中的loads方法解析并返回数据。
其实YAMLParser和XMLParser,是跟JSONParser的步骤一样的,只不过调用不同的库来解析数据。
再来看一下通用的FormPaser,用于解析'application/x-www-form-urlencoded'类型的数据,这种数据是POST方法提交数据,默认的格式。它只不过直接被实例化了QueryDict对象。
?
?
?
parse方法中的参数:stream即为要解析的数据,
parse_context为需要解析时需要提供的配置,
?
parser.py一共有以下多种类,JSONParser,YAMLParser,FormParser,MultiPartParser,XMLParser,FileUploadParser。
首先看JSONParser的定义:
?
其实YAMLParser和XMLParser,是跟JSONParser的步骤一样的,只不过调用不同的库来解析数据。
再来看一下通用的FormPaser,用于解析'application/x-www-form-urlencoded'类型的数据,这种数据是POST方法提交数据,默认的格式。它只不过直接被实例化了QueryDict对象。
?
相关文章推荐
- Sublime Text3 + Golang搭建开发环境
- jango.contrib.sessions-SessionBase
- django.session-middleware
- django-admin sites
- django.core-validators
- django.forms.widget-ChoiceFieldRenderer
- django.forms.widget-ChoiceInput
- Hello,Algorithm!(你好,算法!)
- django.forms-Widget和Media间的联系
- dajngo.forms.widget-Media
- django signal 拾遗
- Proof for Floyd-Warshall's Shortest Path Derivation Algorithm Also Demonstrates the Hierarchical Path Construction Process
- django.relatedField-关联域
- django.contrib.auth.backend-后台
- google-io-2014
- django.contirb.auth-认证
- google guava
- 1057 - Collecting Gold (状态压缩DP)
- Golang学习笔记 - 【杂项】格式化时间成datetime
- Light OJ 1051 - Good or Bad