做二手房网站有哪些资料,海淀seo搜索引擎优化公司,软件开发流程模型有哪些,找网站建设的企业JSON及Python操作JSON相关
Json简介及Python操作Json相关示例。
1. JSON概念及支持的数据类型
1.1 什么是 JSON#xff1f;
JSON#xff08;JavaScript Object Notation#xff09;是一种轻量级的数据交换格式#xff0c;易于人阅读和编写#xff0c;同时也易于机器解…JSON及Python操作JSON相关
Json简介及Python操作Json相关示例。
1. JSON概念及支持的数据类型
1.1 什么是 JSON
JSONJavaScript Object Notation是一种轻量级的数据交换格式易于人阅读和编写同时也易于机器解析和生成。尽管 JSON 源于 JavaScript它与编程语言无关目前被广泛应用于各种编程语言中。
1.2 JSON 支持的数据类型
JSON 支持以下几种基本数据类型
两种特殊类型数组(array)、对象(object)四种基础类型字符串(string)、数字(number)、布尔型(boolean)、NULL值
对象Object
表示为一组无序的键值对集合用花括号 {} 包裹。键必须是字符串并且用双引号包裹。每个键值对之间用逗号 , 分隔。键和值之间用冒号 : 分隔。
示例
{name: John,age: 30,isStudent: false,address: {city: New York,zip: 10001}
}数组Array
表示为一个有序的值集合用方括号 [] 包裹。各个值之间用逗号 , 分隔。
示例
[apple,banana,cherry
]json对象和字符串区别
特性JSON 对象JSON 数组表示花括号 {} 包裹方括号 [] 包裹数据形式无序的键值对集合有序的值的集合键字符串用双引号包裹无键只有索引值可以是任何JSON数据类型可以是任何JSON数据类型使用场景表示复杂结构化数据表示有序列表数据
字符串String
表示为一串字符序列用双引号 包裹。可以包含转义字符例如 \ 表示双引号\\ 表示反斜杠\n 表示换行符等。
示例
Hello, world!数字Number
表示为整数或浮点数。可以是正数、负数或零。
示例
42
3.14布尔值Boolean
表示为 true 或 false。
示例
true
false空值Null
表示为空值使用 null。
示例
null2. 示例代码
2.1 读取JSON文件
在Python中你可以使用json模块读取JSON文件。这是最常见的操作。
import json# 读取JSON文件
with open(data.json, r, encodingutf-8) as file:data json.load(file) # 读取并解析JSON数据# 打印数据
print(data)这里我们使用json.load()读取并解析JSON文件并将结果存储在data变量中。
2.2 写入JSON文件
你可以使用json.dump()将Python数据结构写入JSON文件。
import json# 要写入的Python数据
data {name: Alice,age: 30,skills: [Python, Data Analysis, Machine Learning]
}# 写入到JSON文件
with open(output.json, w, encodingutf-8) as file:json.dump(data, file, indent4) # 使用缩进格式化输出这个示例使用json.dump()将字典写入JSON文件。
2.3 解析JSON字符串
有时数据可能以JSON字符串的形式存在。这时你可以使用json.loads()来解析它。
import json# 一个JSON字符串
json_str {name: Bob, age: 25, city: New York}# 解析JSON字符串
data json.loads(json_str)print(data) # {name: Bob, age: 25, city: New York}2.4 将Python数据转换为JSON字符串
与解析JSON字符串类似你可以使用json.dumps()将Python数据转换为JSON字符串。
import json# 一个Python数据结构
data {name: Charlie,hobbies: [Reading, Swimming, Hiking]
}# 将Python数据转换为JSON字符串
json_str json.dumps(data, indent4)print(json_str) # JSON格式的字符串2.5 处理复杂JSON数据
JSON数据可以包含嵌套的结构。Python可以方便地处理这些复杂数据。
import json# 一个包含嵌套结构的JSON
nested_json {name: Dave,age: 40,children: [{name: Amy, age: 10},{name: Ben, age: 8}],contact: {email: daveexample.com,phone: 1234567890}
}# 将Python数据转换为JSON字符串
json_str json.dumps(nested_json, indent4)print(json_str)在这个示例中我们创建了一个包含嵌套结构的Python数据然后将其转换为JSON字符串以进行输出。
3. 总结
3.1 json模块中load、loads、dump、dumps函数的区别总结
函数描述参数返回值用途load从文件读取JSON数据并转换为Python对象- file object: 包含JSON数据的文件对象Python对象从文件中读取并解析JSON数据loads从字符串读取JSON数据并转换为Python对象- str: JSON格式的字符串Python对象从字符串中读取并解析JSON数据dump将Python对象编码为JSON数据并写入文件- obj: Python对象- file object: 文件对象无将Python对象写入文件中dumps将Python对象编码为JSON格式的字符串- obj: Python对象JSON格式的字符串将Python对象转换为JSON字符串
3.2 JSON类型与Python类型的对照表
JSON 类型Python 类型示例objectdict{name: John, age: 30} - {name: John, age: 30}arraylist[1, 2, 3] - [1, 2, 3]stringstrhello - hellonumberint 或 float42 - 42 3.14 - 3.14trueTruetrue - TruefalseFalsefalse - FalsenullNonenull - None
3.3 区分Python字典和JSON格式的字符串
1. 语法上区分
Python 字典 是一种内存中的数据结构包含键值对键可以是任何不可变的数据类型值可以是任意数据类型。JSON 是一种用于数据交换的字符串格式键和值都必须是特定类型键必须是字符串值可以是字符串、数字、数组、对象、布尔值或 null。
2. JSON和 Python 字典的使用场景
Python 字典用于在 Python 程序内部处理数据。JSON 字符串用于在不同系统之间交换数据例如前后端通信、数据存储等。