文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python第三方库系列之一--json

2023-01-31 02:52

关注

认真生活每一天,认真敲好每一行代码,为了未来的小公主,好好学习,天天向上~

一、先讲讲json的出现,就要先讲讲序列化

    1. 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON、XML等。反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象。

    2. 为什么要用json传输数据,这里就要比较两种传输数据的方式:xml和json。它们之间有什么区别呢?

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。

    XML 全称是可扩展标记语言(EXtensible Markup Language),是一种类似与HTML的语言,是被设计用来描述数据的语言,重量级。

    JSON和XML的轻/重量级的区别在于:JSON只提供了整体解析方案,而这种方法只在解析较少的数据时才能起到良好效果;而XML提供了对大规模数据的逐步解析方案,这种方案很适用于对大量数据的处理。

    Python2.6开始加入了JSON模块,无需另外下载,Python的Json模块序列化与反序列化的过程分别是 encoding和 decoding。

    encoding:把一个Python对象编码转换成Json字符串。

    decoding:把Json格式字符串解码转换成Python对象

    从python转为json的官方数据格式为:

Python JSON
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
None null
   从json转为python的官方数据格式为:

JSON Python
object dict
array list
string unicode
number (int) int, long
number (real) float
true True
false False
null None

二、基于Python的第三方库

    实际上JSON就是Python字典的字符串表示,但是字典作为一个复杂对象是无法直接转换成定义它的代码的字符串,Python有一个叫simplejson的库可以方便的完成JSON的生成和解析,这个包已经包含在Python2.6中,就叫json 主要包含四个方法: dump和dumps(从Python生成JSON),load和loads(解析JSON成Python的数据类型)dump和dumps的唯一区别是dump会生成一个类文件对象,dumps会生成字符串,同理load和loads分别解析类文件对象和字符串格式的JSON。

    1. Python2.6自带json库

   (1) dumps(dump)方法:对简单数据类型encoding;

   (2)loads(load)方法:处理简单数据类型的decoding(解码)转换

    json库的方法:  

json_str1 = '{"name":"test", "type":"haha"}'
json_struct1 = json.loads(json_str1) #个人觉得load()=JSONDecoder().decode()
json_decode_struct = json.JSONDecoder().decode(json_str1)

json_struct2 = {'name':'test', 'type':'haha'}
json_str2 = json.dumps(json_struct2)
json_encode_str = json.JSONEncoder().encode(json_struct2)

        2. simple库

    simplejson库就是Python2.6自带的json库

    

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯