iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python与json数据的交互详情
  • 686
分享到

python与json数据的交互详情

2024-04-02 19:04:59 686人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录一 什么是JSON二 json语法格式三 python与json的交互1. json.loads()2. json.load()3. json.dumps()4. json.du

一 什么是json

json是一种独立于编程语言和平台的轻量级数据交换方式。和xml一样,只是一种数据交换方式,与编程语言没有依赖关系。各种支持json数据格式的编程语言,都会有对其进行解析的方法。xml和json都用于数据存储和数据交换,但是现在json越来越流行,用的比xml多。json较xml的优点如下

  • xml需要用xml解析器来进行,而json则不用(主要区别)。
  • json不需要写标签,较简短。
  • json的读写速度更快

二 json语法格式

{
    "name": "安先生",
    "age": "24"
}

如上,json数据是以key:value 的形式保存在一对大括号{}中的,多个数据用逗号分隔,和python中的字典非常相像,但是json数据中的key和value全都是用双引号包起来的。

Python与json的交互

python中提供了四种与json数据打交道的方法,即json.loads(),json.load(),json.dumps()和json.dump(),下面一一进行介绍。

1. json.loads()

json.loads(): 将json对象转换为python对象,一般是将字符串转为python的字典dict。

import json

json_data = '{"name": "安先生", "age": "24"}'
print(type(json_data))
print(json_data)
#json.loads()将json对象转为python对象
py_data = json.loads(json_data)
print(type(py_data))
print(py_data)

输出:

>>>
<class 'str'>
{"name": "安先生", "age": "24"}
<class 'dict'>
{'name': '安先生', 'age': '24'}

2. json.load()

json.load(): 读取json文件(解码)

import json

json_data = open('../练习文件/json.json', 'r', encoding='utf-8')
print(type(json_data))

data = json.load(json_data)
print(type(data))
print(data)

>>>
<class '_io.TextIOWrapper'>
<class 'dict'>
{'name': '安先生', 'age': '24', 'job': '软件测试'}

3. json.dumps()

json.dumps(): 将python对象转为json对象

import json

py_data = {"name": "张三", "age": 24, "job": "法外狂徒"}
print(type(py_data))
print(py_data)
#indent控制缩进,ensure_ascii控制编码
json_data = json.dumps(py_data, indent=4, ensure_ascii=False)
print(type(json_data))
print(json_data)

其中indent参数是控制缩进的,ensure_ascii改变默认编码(Unicode)

<class 'dict'>
{'name': '张三', 'age': 24, 'job': '法外狂徒'}
<class 'str'>
{
    "name": "张三",
    "age": 24,
    "job": "法外狂徒"
}

4. json.dump()

json.dump(): 向json文件写数据(编码)

import json

py_data = {"name": "张三", "age": 24, "job": "法外狂徒"}
#先用json.dumps()将python对象转为json对象
json_data = json.dumps(py_data)
with open('../练习文件/json.json', 'w', encoding='utf-8') as f:
    json.dump(json_data, f)

#读取数据
msg = open('../练习文件/json.json', 'r')
msg = json.load(msg)
print(msg)

写入的json文件数据:

可以看到,读写的数据和我们想要的不一致,这是因为json.dump()默认写的是Unicode编码的数据,中文是不在Unicode编码中的,所以显示的时候就不会以中形式显示,不过可以用json.dump()的ensure_ascii参数来控制,将其设置为False,

如下:

import json

py_data = {"name": "张三", "age": "24", "job": "法外狂徒"}

#转换成json对象时,编码默认为Unicode,ensure_ascii=False 取消默认编码
with open('../练习文件/json.json', 'w', encoding='utf-8') as f:
    json.dump(py_data, f, indent=4, ensure_ascii=False,)
#读取数据
msg = open('../练习文件/json.json', 'r', encoding='utf-8')
msg = json.load(msg)
print(msg)

结果如下:

>>>
{'name': '张三', 'age': '24', 'job': '法外狂徒'}

到此这篇关于python与json数据的交互详情的文章就介绍到这了,更多相关python json数据交互内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python与json数据的交互详情

本文链接: https://www.lsjlt.com/news/119542.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python与json数据的交互详情
    目录一 什么是json二 json语法格式三 python与json的交互1. json.loads()2. json.load()3. json.dumps()4. json.du...
    99+
    2024-04-02
  • python与xml数据的交互详解
    目录一 什么是XML二 XML语法规则1. xml语法规则2. xml与html的区别三 python与xml的交互1. 获取标签对内的数据2. 获取标签属性值一 什么是XML py...
    99+
    2024-04-02
  • python 对excel交互工具的使用详情
    目录python 对excel的 读入 与 改写二、python 写入数据1 、 xlwt包写入Excel文件2、openpyx 只可以读xlsx 不可读xls文档三、小结pytho...
    99+
    2024-04-02
  • python怎么与mysql数据库交互
    本篇内容介绍了“python怎么与mysql数据库交互”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1、安装pymysql库  如果你想...
    99+
    2023-06-02
  • HTML 与 Excel 交互:读取数据详解
    html 中读取 excel 数据的方法:使用 javascript filereader api 将 excel 文件加载到 filereader 中。将 excel 文件的内容转换为...
    99+
    2024-04-09
    html excel
  • Python与数据库的交互怎么实现
    本篇内容介绍了“Python与数据库的交互怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!MongoDB安装模块pip install...
    99+
    2023-06-22
  • 使用springMVC如何实现与json数据进行交互
    使用springMVC如何实现与json数据进行交互?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前台代码:function channel(){ //先获取选中的值 ...
    99+
    2023-05-31
    springmvc json
  • 聊聊Spring MVC JSON数据交互的问题
    我们在开发中后端经常需要接受来自于前端传递的Json字符串数据,怎么把Json字符串转换为Java对象呢?后端也经常需要给前端返回Json字符串,怎么把Java对象数据转换为Json...
    99+
    2024-04-02
  • Python与数据库的交互问题小结
    目录MongoDB连接数据库增删改查封装MySQL连接数据库执行操作查询数据异常处理Redis连接数据库执行操作MongoDB 安装模块pip install pymongo 连接数...
    99+
    2024-04-02
  • 详解c#与python的交互方式
    目录前言: 一、IronPython 二、Python打包exe调用 三、Python提供WebApi接口(推荐) 总结: 前言:  在平时工作中,需求有多种实现方式;根据不同的需...
    99+
    2024-04-02
  • Ajax与用户交互的JSON数据存储格式是什么
    本篇内容介绍了“Ajax与用户交互的JSON数据存储格式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • Python ORM 与数据库交互的最佳实践
    Python 对象关系映射 (ORM) 是一种将数据库中的数据映射到 Python 对象的方法,从而简化与数据库的交互。掌握 ORM 的最佳实践对于优化数据库交互、提高性能和维护代码可读性至关重要。 数据库建模 遵循实体关系模型 (ER...
    99+
    2024-03-15
    ORM
  • QT与javascript交互数据的实现
    一、数据从QT流向JS 1、QT调用JS的函数,JS通过形参获得QT的值 2、JS调用QT的函数,QT函数的返回值进入JS 二、数据从JS流向QT 1、JS调用QT的函数,QT通过形...
    99+
    2024-04-02
  • PHP 函数与 MySQL 数据库的交互
    php 具有连接、查询和操作 mysql 数据库的功能。常用的 php 函数包括:mysqli() 用于连接数据库,query() 用于执行查询,prepare() 用于准备插入语句。实...
    99+
    2024-04-13
    mysql php 用户注册
  • Django与数据库交互的实现
    目录1 如何创建项目数据库2 进行数据库与django的交互3 添加数据4 查找数据4 更新数据1 如何创建项目数据库 首先,在虚拟机数据库中建立一个与项目同名的数据库,方便管理。 ...
    99+
    2024-04-02
  • python 与 C 的交互(ctype
    ctypes是Python的一个外部库,可以使用python语言调用已经编译好的C语言函数以及数据类型并进行数据交换等。ctypes的官方文档在https://docs.python.org/3/library/ctypes....
    99+
    2023-01-31
    python ctype
  • mybatis如何与数据库交互
    MyBatis是一个开源的持久层框架,可以与数据库进行交互。下面是MyBatis与数据库交互的步骤:1. 配置数据库连接:在MyBa...
    99+
    2023-08-19
    mybatis 数据库
  • Django与多个数据库交互
    定义数据库 在Django中使用多个数据库的第一步是告诉Django您将要使用的数据库服务器。 数据库可以有您选择的任何别名。但是,别名 default 有着特殊的意义。Django使用别名为 default 为默认数据库。 例如 set...
    99+
    2023-01-30
    多个 数据库 Django
  • AJAX实现JSON与XML数据交换方法详解
    目录1、JS中如何创建和访问JSON对象2、基于JSON的数据交换3、基于XML的数据交换1、JS中如何创建和访问JSON对象 (1)在javascript语言中怎么创建一个json...
    99+
    2023-01-13
    AJAX JSON与XML数据交换 AJAX JSON数据交换 AJAX XML数据交换
  • SpringBoot前后端json数据交互的全过程记录
    目录一、参考文献二、勇敢尝试三、最终选择交互方式总结一、参考文献 原生Ajax与JQuery Ajax SpringMVC接受JSON参数详解及常见错误总结 提交方式为 POST 时...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作