serializers 模块

此文件是Web2py Web框架的一部分,版权归Massimo di Pierro<mdipierro@cs.depaul.edu>license:lgplv3(http://www.gnu.org/licenses/lgpl.html)所有。

class gluon.serializers.JSONEncoderForHTML(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[源代码]

基类:json.encoder.JSONEncoder

一个生成JSON安全嵌入HTML的编码器。要将JSON内容嵌入到网页上的脚本标记中,应转义&、<和>。不能用常规实体(例如&amp;)转义它们,因为它们未在<script>标记内展开。该类还将转义行分隔符和段落分隔符字符U+2028和U+2029,而不考虑“确保”ascii设置,因为这些字符在javascript字符串中无效(请参见http://timelessrepo.com/json-isnt-a-javascript-subset)。

encode(o)[源代码]

返回Python数据结构的JSON字符串表示形式。

>>> from json.encoder import JSONEncoder
>>> JSONEncoder().encode({"foo": ["bar", "baz"]})
'{"foo": ["bar", "baz"]}'
iterencode(o, _one_shot=False)[源代码]

对给定的对象进行编码,并生成每个可用的字符串表示形式。

例如::

for chunk in JSONEncoder().iterencode(bigobject):
    mysocket.write(chunk)
gluon.serializers.cast_keys(o, cast=<class 'str'>, encoding='utf-8')[源代码]

使用<cast>类型键生成新对象。如果您使用的是python<2.6.5,那么使用此函数可以避免在解包字典参数时出现语法错误。

参数
  • o -- 是对象输入

  • cast -- (默认为str)是支持转换的对象类型或函数,例如:converted=cast(o)

  • encoding -- (默认为UTF-8)是Unicode键的编码。这不用于自定义强制转换函数

gluon.serializers.csv(value)[源代码]
gluon.serializers.custom_json(o)[源代码]
gluon.serializers.ics(events, title=None, link=None, timeshift=0, calname=True, **ignored)[源代码]
gluon.serializers.json(value, default=<function custom_json>, indent=None, sort_keys=False, cls=<class 'gluon.serializers.JSONEncoderForHTML'>)[源代码]
gluon.serializers.loads_json(o, unicode_keys=True, **kwargs)[源代码]
gluon.serializers.loads_yaml(data)[源代码]
gluon.serializers.rss(feed)[源代码]
gluon.serializers.safe_encode(text)[源代码]
gluon.serializers.xml(value, encoding='UTF-8', key='document', quote=True)[源代码]
gluon.serializers.xml_rec(value, key, quote=True)[源代码]
gluon.serializers.yaml(data)[源代码]