Python之JSON函数介绍

JSON函数

使用 JSON 函数需要导入 json 库:import json。

1562121277(1).png

举例说明,如下:

a.json内容格式:

{"car":{"price":1100,"color":"red"},"mac":{"price":7999,"color":"black"},"abc":{"price":122,"color":"green"}}

json.load()

import json
with open('a.json') as fp:
    shop_dic = json.load(fp)  #从a.json文件内读取数据,返回结果为字典:{'abc': {'price': 122, 'color': 'green'},
     'mac': {'price': 7999, 'color': 'black'}, 'car': {'price': 1100, 'color': 'red'}}
    print(shop_dic)

json.loads()

s_json = '{"name":"niuniu","age":20,"status":true}'
print(json.loads(s_json))         #将json串转换为字典:{'age': 20, 'status': True, 'name': 'niuniu'}

json.dump()

import json
with open('a.json', 'a+') as fp:
    dic = {'name': 'niuniu', 'age': 18}
    fp.seek(0)
    fp.truncate()
    json.dump(dic, fp)    #将字典转换为json串写入文件

写入的a.json如下:

{"age": 18, "name": "niuniu"}
json.dumps()
import json
dic = {'name': 'niuniu', 'age': 18}
print(json.dumps(dic))           #将字典转换为json串:{"name": "niuniu", "age"

扩展小知识点:

将字典内容写入json文件,包含中文。

1. 中文写入json文件后显示乱码,怎么解决?                      ensure_ascii = False

2. 写入的字典内容显示为不一行,显示不美观,怎么解决? indent = 4

import json
d = {"Name": "战神","sex" : ["男","女","人妖"],"Education":{"GradeSchool" : "第一小学",
"MiddleSchool" : ["第一初中" , "第一高中"], "University" :{ "Name" : "哈佛大学", "Specialty" : ["一年级","二年级"]}}}
with open('a.json', 'w', encoding='utf-8') as f:
    # 中文显示乱码问题, ensure_ascii = False
    # json格式化问题, indent = 8
    # s = json.dumps(d, ensure_ascii=False, indent=8)  字典转换为json 字符串
    # f.write(s)
    
    #第二种写法
    json.dump(d, f, ensure_ascii=False,indent=8)

写入的json文件,a.json:

x.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/275432.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自定义docker镜像,ubuntu安装命令并导出

文章目录 问题现象解决步骤相关命令详细介绍docker save 与 docker loaddocker import 与 docker exportdocker commit 问题现象 我们的通讯服务,需要监测前端设备的在线情况(是否在线、丢包率、延迟等),使用ping命令去实现此功能…

uniapp原生插件 - android原生插件打包流程 ( 避坑指南一)

【彩带- 避坑知识点】: 当时开发中安卓插件打包成功后,uniapp引用插件aar,用云打包 ,总是提示不包含插件。原因是因为module的androidManifest.xml文件没有注册activity。 这一步 很重要,一定要注册。 --------------------------…

百度CTO王海峰:飞桨开发者已达1070万

目录 写在前面 飞桨开发者已达1070万 文心一言用户规模破亿,日提问量快速增长 写在前面 “文心一言用户规模突破1亿。”12月28日,百度首席技术官、深度学习技术及应用国家工程研究中心主任王海峰在第十届WAVE SUMMIT深度学习开发者大会上宣布。会上&…

【智慧门店】东胜物联蓝牙网关助力解决方案商,推动汽车后市场企业智能化升级

截至2023年9月底,我国汽车保有量达3.3亿辆,后市场前景广阔。 随着人工智能、5G、物联网等新技术的普及,汽车后市场企业希望向智能化迈进,借助新兴科技的力量提升汽车维修、车辆保养等服务质量,满足消费者日益增长的需…

第一节 初始化项目

系列文章目录 第一节 初始化项目 文章目录 操作步骤 总结 操作步骤 打开cmd 输入 vue ui 在打开的网页中点击“创建”,复制文件夹路径并粘贴点击“在此创建新项目” 输入项目名称 点击下一步选择手动配置 选择babel、router、vuex、css pre-processors、 linter建…

Jetpack Compose中使用Android View

使用AndroidView创建日历 Composable fun AndroidViewPage() {AndroidView(factory {CalendarView(it)},modifier Modifier.fillMaxWidth(),update {it.setOnDateChangeListener { view, year, month, day ->Toast.makeText(view.context, "${year}年${month 1}月$…

图的操作实验

图的操作 一、 实验目的 (1)掌握图的邻接矩阵和邻接表存储结构。 (2)熟练图的邻接表的基本运算。 (3)加深图的深度优先遍历算法和广度优先遍历算法的理解。 (4)领会最小生成树和…

性能手机新标杆,一加 Ace 3 发布会定档 1 月 4 日

12 月 27 日,一加宣布将于 1 月 4 日发布新品一加 Ace 3。一加 Ace 系列秉持「产品力优先」理念,从一加 Ace 2、一加 Ace 2V 到一加 Ace 2 Pro,款款都是现象级爆品,得到了广大用户的认可与支持。作为一加 2024 开年之作&#xff0…

Leetcode 56 合并区间

题意理解: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。 合并所有重叠的区间,并返回 一个不重叠的区间数组。 该数组需恰好覆盖输入中的所有区间 。 目标:合并…

踩坑RV1106板端部署rknn模型

文章目录 1、交叉编译2、板上跑通3、验证自己模型 1、交叉编译 官方给的一个流程: RKNN 模型推理测试为了避免踩坑在开头提出来 按照官方的流程可以跑通,他自己提供的yolov5s.rknn(640*640)的模型,但是跑自己的模型的时候加载就会…

ROS多机通信

1:安装ssh sudo apt-get install openssh-server ps -e|grep ssh2:网络静态IP设置 3:配置文件修改 sudo gedit /etc/hosts192.168.3.11 用户名 192.168.3.22 用户名另一台4:重启网络 sudo /etc/init.d/network-manager resta…

码住!8个小众宝藏的开发者学习类网站

1、simplilearn simplilearn是全球排名第一的在线学习网站,它的课程由世界知名大学、顶级企业和领先的行业机构通过实时在线课程设计和提供,其中包括顶级行业从业者、广受欢迎的培训师和全球领导者。 2、VisuAlgo VisuAlgo是一个免费的在线学习算法和数…

Python(九十二)函数的参数定义-个数可变的位置参数和个数可变的关键字形参

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

keil编译报错:No space in execution regions with .ANY selector matching

No space in execution regions with .ANY selector matching 出现该错误是因为内存溢出,没有更多的空间,可以从以下几点进行排查。 1、优化编译器的编译规则,配置成Level 3 最高级,但是会增加编译时间 Keil编译器提供了多种优…

力扣热题100道-双指针篇

文章目录 双指针283.移动零11.盛最多水的容器15.三数之和42.接雨水 双指针 283.移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 …

WPF+Halcon 培训项目实战(6):目标匹配助手

前言 为了更好地去学习WPFHalcon,我决定去报个班学一下。原因无非是想换个工作。相关的教学视频来源于下方的Up主的提供的教程。这里只做笔记分享,想要源码或者教学视频可以和他联系一下。 相关链接 微软系列技术教程 WPF 年度公益课程 Halcon开发 CSD…

日本it培训班,日本IT大体分几类?

日本是一个老龄化极其严重的国家,拜泡沫经济破灭后的经济停滞所赐,民众取得了节育方面的丰硕成果,然而当经济终于走出阴霾,呈现复苏迹象时,短缺的劳动力又成了一大问题,拖累整个经济的步伐。为了应对劳工市…

Pycharm引用其他文件夹的py

Pycharm引用其他文件夹的py 方式1:包名设置为Sources ROOT 起包名的时候,需要在该文件夹上:右键 --> Mark Directory as --> Sources ROOT 标记目录为源码目录,就可以了。 再引用就可以了 import common from aoeweb impo…

轻松部署、经济实惠:解密亚马逊云科技轻量应用服务器的魅力

近年来,云计算技术的迅猛发展为创业者提供了更便捷、经济实惠的基础设施解决方案。在众多云服务提供商中,亚马逊云科技的轻量应用服务器,即Amazon Lightsail,凭借其出色的性能、简单易用的界面和无缝的生态整合,成为许…

Java开发框架和中间件面试题(8)

目录 82.Mybatis一级缓存,二级缓存? 83.Mybatis如何防止SQL注入? 84.mybatis中resultType和resultMap有什么区别? 85.如何在SpringBoot中禁用Actuator断点安全性? 86.什么是SpringBoot?SpringBoot有哪些…