python解析json文件

python解析json文件认识json数据json有两种数据结构:对象和数组。对象:用大括号表示,由键值对组成,每个键值对用逗号隔开。其中key必须为字符串且是双引号,value可以是多种数据类型。数组:用中括号表示,每个元素之间用逗号隔开。json中的字符串都要用双括号表示。json数据可以嵌套表示出结构更加复杂的数据。json格式与python格式的对应Python JSONd…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

  • 认识json数据
    json有两种数据结构:对象和数组。
    对象:用大括号表示,由键值对组成,每个键值对用逗号隔开。其中key必须为字符串且是双引号,value可以是多种数据类型。
    数组:用中括号表示,每个元素之间用逗号隔开。
    json中的字符串都要用双括号表示。
    json数据可以嵌套表示出结构更加复杂的数据。
  • json格式与python格式的对应
Python	           JSON
dict	           object
list, tuple        array
str	               string
int, float         number
True	           true
False	           false
None	           null
  • 将python数据与json数据相互转化
    导入json模块: import json;
    python数据转成json字符串:json_data = json.dumps(python_data);
    json字符串转成python对象:python_data = json.loads(json_data);
  • 一个例子
import json;
data1 = {
           'name' : 'jack',
            'age' : 20,
            'like': ('sing','dance','swim'),
            'score': {'chinese':80,'math':60,'english':99}
}

data2 = json.dumps(data1);
data3 = json.loads(data2);
print('原始数据');
print(data1);
print('转化成json格式');
print(data2);
print('再转化成python格式');
print(data3);
原始数据
{'name': 'jack', 'age': 20, 'like': ('sing', 'dance', 'swim'), 'score': {'chinese': 80, 'math': 60, 'english': 99}}
转化成json格式
{"name": "jack", "age": 20, "like": ["sing", "dance", "swim"], "score": {"chinese": 80, "math": 60, "english": 99}}
再转化成python格式
{'name': 'jack', 'age': 20, 'like': ['sing', 'dance', 'swim'], 'score': {'chinese': 80, 'math': 60, 'english': 99}}
  • python操作json文件
    1.把一个python类型数据直接写入json文件
    json.dump(data1, open(‘xxx.json’, “w”));
    2.直接从json文件中读取数据返回一个python对象
    data3 = json.load(open(‘xxx.json’));
  • 实例
import json;
# json.dump()  把数据写入json文件
# json.load()  把json文件内容读入python

data1 = {
           'name' : 'jack',
            'age' : 20,
            'like': ('sing','dance','swim'),
            'score': {'chinese':80,'math':60,'english':99},
            'love': None
}



#把python数据data1直接写入json文件中
json.dump(data1, open('jack.json', "w"));

#直接从json文件中读取数据返回一个python对象
data3 = json.load(open('jack.json'));
print(data3);

>>>>>
{ 
    'name': 'jack', 'age': 20,
    'like': ['sing', 'dance', 'swim'],
    'score': {'chinese': 80, 'math': 60, 'english': 99}, 
    'love': None
  }

json文件中的内容

{
  "name": "jack", 
   "age": 20,
   "like": ["sing", "dance", "swim"],
   "score": {"chinese": 80, "math": 60, "english": 99},
   "love": null
   }
  • 总结
    在用python解析json文件时可以用dumps函数先把python数据转化为json字符串,在用open函数自行把json字符串写入到文件中。也可以直接用dump函数把python数据写入到json文件中,这样更方便。
    两种写入文件的方法是等价的,相反读取文件时也有两种方法。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189561.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java学习路线图[通俗易懂]

    Java学习路线图[通俗易懂]一、Java学习路线图   二、Java学习路线图——视频篇 六大阶段学完后目标知识点配套免费资源(视频+笔记+源码+模板)密码     第一阶段Java基础 入门学习周期:35天学完后目标:1.可进行小型应用程序开

    2022年5月13日
    56
  • 重启nginx命令

    重启nginx命令进入到nginx/sbin目录下面首先需要获取超级管理员的权限1、输入sudosu然后输入密码2、输入sudobash然后输入密码然后输入./nignx-sreloadnginx重启成功

    2022年6月19日
    35
  • matlab中gamma函数_gamma校正法

    matlab中gamma函数_gamma校正法《基于matlab的gamma校正》由会员分享,可在线阅读,更多相关《基于matlab的gamma校正(2页珍藏版)》请在人人文库网上搜索。1、基于matlab的gamma校正1、gamma校正的原理其原始图像产生了失真,失真程度有具体系统的gamma值决定,通过相应的软件对图像数据进行预补偿,再送入CRT显示。二、分析原图如下:I=imread(aaa.jpg);subplot(2,2,1)…

    2022年9月22日
    0
  • M91A安全帽识别布控球 安全帽穿戴AI视频分析功能

    M91A安全帽识别布控球 安全帽穿戴AI视频分析功能AI布控球基于前端边缘AI计算及后端云平台计算,AI布控球集成人脸识别、安全帽识别等的AI视频图像分析算法,通过计算机视觉技术对图像、人脸、场景、视频等进行深度学习,识别并标示图像、场景、视频内容,并对自定义的行为、意图进行识别并预警。AI识别能力介绍:着装检测:针对施工区域的人员是否戴安全帽。人脸检测:针对施工区域的人员是否陌生人(黑名单)。行为检测:针对施工区域内人员是否吸烟。区域检测:针对规定的区域划线后检测是否在区域内或区域外。4G高清安全帽识别布控球,是一款便携式的集4G无线、远程视

    2022年5月19日
    56
  • 你知道Python是什么意思吗?

    你知道Python是什么意思吗?python中文就是蟒蛇的意思。在计算机中,它是一种编程语言。Python(英语发音:/ˈpaɪθən/),是一种面向对象、解释型计算机程序设计语言,由GuidovanRossum于1989年

    2022年7月3日
    23
  • java输出乱码是什么问题_jsp获取request参数

    java输出乱码是什么问题_jsp获取request参数最近有个业务需要模拟表单提交到asp页面中,但是我的项目编码是UTF8,而asp页面是GB2312,中文字段提交后,到达数据库后是乱码.问题的解决在于模拟提交的时候置

    2022年10月7日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号