| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 【Python进阶】_JSON -> 正文阅读 |
|
[Python知识库]【Python进阶】_JSON |
JSON是什么 JSON (JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。 它是 javascript 规范里面定义的。 它是一种文本格式来存储和表示数据。 它的特点就是 简洁 并且 清晰, 人都能很容易的看明白。 JSON作用 把程序的各种类型数据对象变成表示该数据对象的字节串 这个过程 称之为?序列化?。 而把 字节串转化为 程序中的数据对象 这个过程 称之为?反序列化 就好像 两个人聊天时,双方需要把自己脑子中的事物转化为语言描述传递给对方, 接收到对方的语言描述,再转化为自己的脑子中的事物一样。JSON在这个过程中就相当于双方都可以理解的语言,有着公用的标准与规范。 Python中转换成JSON格式 Python中内置了json这个库,可以 方便的把内置的数据对象 序列化为json格式文本的字符串。 把上面的数据对象序列化为json格式的字符串,就可以使用该库里面的dumps函数,如下
输出结果: [ { "time": "20170101070311", "amount": "3088", "productid": "45454455555", "productname": "iphone7" }, { "time": "20170101050311", "amount": "18", "productid": "453455772955", "productname": "奥妙洗衣液" } ] 语句解释:JSON默认把非ASCII码的字符转换为unicode表示,ensure_ascii=False表示转换中文时不按Unicode表示,输出原来中文;indent=4表示转换后缩进为4,这样显得整洁好看 Python中接收JSON模式 接收方如果也是Python开发的,可以使用 json库中的 loads方法,把json格式的字符串变为 Python中的数据对象,如下
输出结果: [{'time': '20170101070311', 'amount': '3088', 'productid': '45454455555', 'productname': 'iphone7'}, {'time': '20170101050311', 'amount': '18', 'productid': '453455772955', 'productname': '奥妙洗衣液'}] <class 'list'> 可以发现,确实转变成为了list对象。 这样接收方程序就可以方便的处理里面的数据了。 对象深拷贝 先看下面一段代码:
在上面一段代码中我们想把从team1中拷贝过来的team2做一些改动而不影响原有的team1数据,按照上面的方式,在改完后我们发现team1中的数据也相应发生了变化。这是因为当我们把team1赋值给team2时,不是重新开辟一个存储空间存放team1的内容,而是相当于在team2中存放了team1内容的地址,所以改动team2中的内容,其实在改变了这个地址中的内容,team1自然也就相应发生了变化。 为了解决我们的问题,我们可用JSON来完成对象深拷贝,代码如下:
解释:我们先把team1数据内容转换成JSON格式,再把它转换成python内部数据格式保存在team2中,会重新开辟一个新的地址存放数据。 |
|
|
上一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 5:48:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |