可扩展的JSON支持不同语言的数据格式。默认情况下支持日期和日期时间对象

eson的Python项目详细描述


扩展JSON(ESON)

JSON非常适合于以人类可读的格式共享数据,但有时它缺乏对象类型支持。 ESON并没有重新发明轮子,它只是为您提供了一个实现扩展JSON对象的基础,允许您 作为对象在服务、应用程序和语言之间共享数据。在

ESON带有日期和日期时间的内置扩展。您可以编写自己的扩展来管理 自定义数据。在

这是ESON的python版本。查看其他语言here

入门

安装

运行pip install eson

用法

下面是使用eson的各种操作的摘要。 Click here打开一个实时测试环境。在

编码:

fromdatetimeimportdatetime,dateimportesonuser={"name":"Jane Doe","date_of_birth":date.today(),"registered":datetime.now()}# Encoding the dataeson_data=eson.encode(user,pretty=True)# Sample output"""{    "name": "Jane Doe",    "EsonDate~date_of_birth": {"year": 2020, "month": 04, "day": 10},    "EsonDatetime~registered": {...}}"""

解码

^{pr2}$

扩展ESON

您可以扩展ESON以实现各种目的,例如在收到数据库实体的ID时加载它

下面是用于扩展ESON中日期对象的示例代码

fromdatetimeimportdatefromesonimportEsonExtensionclassEsonDate(EsonExtension):# Extend this method, use it to check whether you should encode this valuedefshould_encode(self,value)->bool:returntype(value)==datedefencode(self,value):# Encode your value to valid JSON objectreturndict(year=value.year,month=value.month,day=value.day)defdecode(self,encoded_value):# Decode your object to an object relevant to your applicationreturndate(**encoded_value)

创建扩展后,在应用程序的入口将扩展添加到ESON

importesoneson.add_extension(EsonDate)

就这样,你的扩展已经准备好编码对象了。在

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

推荐PyPI第三方库


热门话题
java复选框。setOnCheckedChangeListener调用崩溃应用程序?   java如何模拟@InjectMocks类中的方法?   注释Java getter和setter   java是否锁定jar或DLL文件?   java绝对uri:http://www.slf4j.org/taglib/tld无法解决   java无法解析符号FirebaseMessagingService   java Glassfish 4中的性能调谐器在哪里?(优化树莓皮)   java获取同一页面上的内容标签   java NoClassDefFoundError,这里忽略了什么?(附图)   OnCreate中的java代码没有按顺序运行   如何在MongoDB Java驱动程序中用多个字段表示对象   java使用JTextfield文本重复搜索JTable   java奇怪的效果与字符串比较==   如何在Java Play框架中托管API?   hibernate中的java交叉连接问题