restler为web提供了灵活且可配置的json和xml对象序列化

restler-serialization的Python项目详细描述


restler是一个用于web的对象序列化库。它支持 将对象转换为json或xml。目前,它的目标是 谷歌应用引擎与Python2.7。

安装

使用easy_install或pip从pypi安装restler;或者下载 打包并运行:

python setup.py install

(运行setup.py需要设置工具。)

要在google app engine上使用,您需要在 restler路径中某个目录。

运行测试

运行restler的测试:

pip install -r requirements.txt -t lib
python -m unittest discover

运行测试需要python 2.7、google app engine sdk或google cloud sdk

用法

可以使用to_jsonto_xml使用默认设置序列化db.model或ndb.model实例。

>>> jean = Person(first_name="Jeanne", last_name="d'Arc", ssn="N/A")
>>> to_json(jean)
'{"first_name": "Jeanne", "last_name": "d\'Arc", "ssn": "N/A"}'

要仅包含某些字段,请使用ModelStrategy。 使用ModelStrategy时,需要使用restler模型装饰器。

>>> @ae_db_serializer
>>> class User(db.Model)
>>>    ...

现在设置ModelStrategy

>>> person_strategy = ModelStrategy(Person).include("first_name", "last_name")
>>> to_json(jean, person_strategy)
'{"first_name": "Jeanne", "last_name": "d'Arc"}'

或者,要排除指定字段:

>>> person_strategy = ModelStrategy(Person, include_all_fields=True).exclude("ssn")
>>> to_json(jean, person_strategy)
'{"first_name": "Jeanne", "last_name": "d'Arc"}'

有关自定义序列化的详细信息,请参阅文档。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我想访问同一类的不同函数中的函数变量   创建字段/值哈希映射的java反射   java Velocity工具向后兼容性?   cmd JAVA运行时错误:发生JNI错误   java spring引导示例hateoas不工作   java为什么Android Studio和gradle可以使用不同的类路径进行单元测试?   java Selenium Firefox驱动程序初始化   java如何在jar中重新定位gradle依赖项的包   java为什么我的单线程hello world应用程序使用22个OS线程?   正则表达式替换Java字符串中的特殊字符   在任何派生类的构造函数之后运行方法的java   java从输入字符串中找出日期   带有libGdx(Java)音乐的安卓studio可以在Android模拟器上工作,但不能在桌面上工作   java我在getconnection的参数方面有错误吗?   java使用JFileChooser访问选定文件   java如何将Json解析为另一个活动   java使用Resources for html和rest server   java更新列表,列表内容来自循环中的方法   java如何在GLSL中读取完整范围的32位整数纹理