python对象与json字符串的相互转化

在json字符串和python对象的相互转化中,会进行下列变换。

    会将python中字典的写法,转化为js中对象的写法。(没有区别)。 会将python中列表的写法,转化为js中array的写法。(没有区别) 会将python中unicode的写法,转化为js中string的写法。(与编码有关) 会将python中的int,long的写法,转化为js中number的写法。(没有区别) 会将python中的True的写法,转化为js中true的写法。(写法有区别) 会将python中的False的写法,转化为js中false的写法。(写法有区别) 会将python中的None的写法,转化为js中null的写法。(写法有区别)

反过来也是对应转换。

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

python字典所有的键必须为字符串,值可以是任何对象。包括字典、列表、字符串、数值、布尔值以及null。

json库

json库集成在了标准库中。使用import json即可引入。

将 Python 对象编码成 JSON 字符串

json.dumps() 将 Python 对象编码成 JSON 字符串

json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
  1. dumps函数包含一些参数,可以使用参数让 JSON 数据格式化输出。
  2. sort_keys参数:是否对键值排序。sort_keys=True
  3. separators:分隔符。separators=(‘,’, ‘: ‘) 参数:两个键值对间的分隔符,键和值中间的分隔符的。
  4. indent:缩进字符数。indent=10
  5. encoding:编码类型。encoding=”utf-8”

将 Python 对象存储成 JSON文件

json.dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True,cls=None, indent=None, separators=None,default=None, sort_keys=False, **kw)

测试用例

import json
myobject = {'key2': {'key31': None,'key32': False,'key33': 13.6,},'key1': {'key22': ['value22_1', 'value22_2']}
}#将对象或对象数组转化为json字符串
jsonstr =json.dumps(myobject, indent=4,sort_keys=True)
print(jsonstr)#python对象或对象数组写入json文件:方法1
with open('data.json', 'w') as f:json.dump(myobject, f)#python对象或对象数组写入json文件:方法2
import io
f=io.open('data1.json', 'w', encoding='utf-8')
json.dump(myobject, f, ensure_ascii=False)
注意:测试发现,使用str(dict),转化为字符串为单引号,
使用json.dumps转化为字符串为双引号

Python读取json文件

json.loads()将已编码的 JSON 字符串解码为 Python 对象

json.loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None,parse_int=None, parse_constant=None,object_pairs_hook=None, **kw)

json.load() 将已编码的 JSON 文件解码为 Python 对象

json.load(fp, *, cls=None, object_hook=None,parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None,**kw)

测试用例。运行环境python3.6

#coding:utf-8
import json
#将json字符串转化为对象或对象数组
jsonstr = '{"key2": {"key31": null, "key32": false, "key33": 13.6}, "key1": {"key22": ["value22_1", "value22_2"]}}'
obj = json.loads(jsonstr)
print(obj)#读取json文件转换成python对象或对象数组:方法1
with open('data1.json', 'r') as f:obj = json.load(f)print(obj)#读取json文件转换成python对象或对象数组:方法2
import io
f = io.open('data1.json', 'r', encoding='utf-8')
json_str = f.readline()   #读取文件内容
obj = json.loads(json_str)  #将json字符串转化为对象
print(obj)

python对象与json字符串的相互转化相关推荐

  1. python数据存储系列教程——python对象与json字符串的相互转化,json文件的存储与读取

    全栈工程师开发手册 (作者:栾鹏) python教程全解 在json字符串和python对象的相互转化中,会进行下列变换. 会将python中字典的写法,转化为js中对象的写法.(没有区别). 会将p ...

  2. python对象转json字符串,及json字符串的格式化

    文章目录 前言 一.python对象转化成json字符串? 1.引入库 2.转化 二.json字符串的格式化 1.使用json.dumps(obj,indent=n)方法 2.示例 3.结果展示 总结 ...

  3. python 对象转换为json,Python对象转换为json的方法步骤

    python中内置了json库,用起来超级方便,json现在以成为开发的必备. python对象到json字符串的转换规则: python json dict object list, tuple a ...

  4. Json对象和Json字符串以及js对象(JavaScript对象)的区别

    1.Json概念 概念:JSON (JavaScript Object Notation) 一种简单的数据格式,是一种比较轻量级的数据存储格式: 2.Json与JS对象的对比 区 别 JSON Jav ...

  5. JS对象和JSON字符串相互转化总结

    在web开发中,一般情况下需要前端和服务器的交换数据,我们一般使用JSON来完成数据的传输,JavaScript操作的对象是一般是变量:因此我们需要将JSON字符串转换为JS变量,下面总结JS对象和J ...

  6. Python 中的json字符串以及使用

    1.什么是JSON JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个 ...

  7. Json对象和Json字符串

    JSON对象 有时候在做项目的时候时常将这两个概念弄混淆,尤其是在使用springmvc的时候,后台@RequestBody接受的是一个json格式的字符串,一定是一个字符串.  先介绍一下json对 ...

  8. java 嵌套对象转xml_Gson对Java嵌套对象和JSON字符串之间的转换 | 学步园

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识, ...

  9. json对象和json字符串转换方法

    在WEB数据传输过程中,json是以文本,即字符串的轻量级形式传递的,而客户端一般用JS操作的是接收到的JSON对象,所以,JSON对象和JSON字符串之间的相互转换.JSON数据的解析是关键. 先明 ...

  10. Java中普通字符串转json_java普通对象和json字符串的互转

    一.java普通对象和json字符串的互转 java对象---->json 首先创建一个java对象: 现在java对象转换为json形式: 定义了一个Student的实体类,然后分别使用了JS ...

最新文章

  1. 剑指offer 面试36题
  2. esp32 rtc 时钟设置不对_STM32入门系列-STM32时钟系统,STM32时钟树
  3. 浅析无字符数字构造webshell
  4. Introduction to algrithms exercise2.3-7
  5. nginx和apache的伪静态区别
  6. 《无码的青春》第四章 程序员的二象性,左手流氓,右手疯子
  7. 前端学习(2193):vuex概念和作用分析
  8. Vue err:This dependency was not found
  9. fastdfs上传文件_Java 实现 FastDFS 实现文件的上传、下载、删除
  10. java access数据库连接_Java Access数据库连接
  11. 一文揭开图机器学习的面纱,你确定不来看看吗
  12. 抗渗等级p6是什么意思_混凝土抗渗等级w4是什么意思?
  13. 7.0版本的微信你会接受它吗?
  14. 移动端电商项目开发流程
  15. 印度市场救不了苹果手机,也救不了库克
  16. 7-7 韩信点兵 (10 分)
  17. [幽默网文]好男人遭遇野蛮美女老婆
  18. Java基础入门必须了解的英语词汇
  19. Chrome怎么导出扩展程序(插件)为crx文件
  20. php摇号 中标 程序,摇号信息系统招标公告

热门文章

  1. edraw max for mac(亿图图示 mac)
  2. 基于SSM的宠物医院信息管理系统javaweb毕业设计项目源码论文
  3. 民间股神:上海殷保华的股票操盘手奇人绝技
  4. 响应式织梦模板酒店客房类网站
  5. js的MDS代码multidimensional-scaling
  6. 微星主板黑苹果_记一次黑苹果PC装机全过程
  7. 如何翻滚截屏_怎么进行滚动截屏
  8. 光纤跳线接口_小白过来看,图解光缆、终端盒、尾纤、跳线的作用和接法
  9. 如何重新安装微软应用商店
  10. rk3568 android11 的 hardware架构学习纪要