sqlrowset 转化为json_Python 操作 JSON 的 9 个示例
Python 操作 JSON 的 9 个示例
Json(JavaScript Object Notation 的缩写)是一种数据交换格式,最常用于客户端-服务器通信;当然你也可以将它保存到本地,所以也可以用来作为配置文件;Json 很像 Python 中的字典,下面就让我们来一起学习如何用 Python 来操作 Json
01 将字典转化为 JSON
输入:
data = {"key1":"value1","key2":"value2"}
输出:
data = {"key1":"value1","key2":"value2"}
有什么不一样吗?其实它们是很相似的
示例代码:
import jsondata = {"key1" : "value1", "key2" : "value2"}# 我们用到了json库的dumps方法,将Python对象转化为Json对象
jsonData = json.dumps(data)
print(jsonData)
02 访问 JSON 中的key2
的值
输入:
data = {"key1":"value1","key2":"value2"}
输出:
value2
示例代码:
import jsonsampleJson = """{"key1": "value1", "key2": "value2"}"""# 我们用到了json库的loads方法
data = json.loads(sampleJson)
print(data['key2'])
03 将 Json 格式化后输出
输入:
sampleJson = {"key1": "value1", "key2": "value2"}
输出:
{"key1" = "value2","key2" = "value2","key3" = "value3"
}
示例代码:
import jsonsampleJson = {"key1" : "value2", "key2" : "value2", "key3" : "value3"}
prettyPrintedJson = json.dumps(sampleJson, indent=2, separators=(",", " = "))
print(prettyPrintedJson)
04 将 Json 按key
排序后保存输出到文件中
输入:
sampleJson = {"id" : 1, "name" : "value2", "age" : 29}
输出:
{"age": 29,"id": 1,"name": "value2"
}
示例代码:
import jsonsampleJson = {"id" : 1, "name" : "value2", "age" : 29}print("Started writing JSON data into a file")
with open("sampleJson.json", "w") as write_file:json.dump(sampleJson, write_file, indent=4, sort_keys=True)
print("Done writing JSON data into a file")
05 访问 Json 的嵌套对象,并输出 salary
的值
输入:
sampleJson = """{"company":{"employee":{"name":"emma","payble":{"salary":7000,"bonus":800}}}
}"""
输出:
7000
示例代码:
import jsonsampleJson = """{"company":{"employee":{"name":"emma","payble":{"salary":7000,"bonus":800}}}
}"""data = json.loads(sampleJson)
print(data['company']['employee']['payble']['salary'])
06 将类对象转化为 Json
输入:
class Vehicle:def __init__(self, name, engine, price):self.name = nameself.engine = engineself.price = pricevehicle = Vehicle("Toyota Rav4", "2.5L", 32000)
输出:
{"name": "Toyota Rav4","engine": "2.5L","price": 32000
}
示例代码:
import json
from json import JSONEncoderclass Vehicle:def __init__(self, name, engine, price):self.name = nameself.engine = engineself.price = priceclass VehicleEncoder(JSONEncoder):def default(self, o):return o.__dict__vehicle = Vehicle("Toyota Rav4", "2.5L", 32000)print("Encode Vehicle Object into JSON")
vehicleJson = json.dumps(vehicle, indent=4, cls=VehicleEncoder)
print(vehicleJson)
07 将 Json 转化为类对象
输入:
{ "name": "Toyota Rav4", "engine": "2.5L", "price": 32000 }
输出:
vehicleObj.name, vehicleObj.engine, vehicleObj.price
示例代码:
import jsonclass Vehicle:def __init__(self, name, engine, price):self.name = nameself.engine = engineself.price = pricedef vehicleDecoder(obj):return Vehicle(obj['name'], obj['engine'], obj['price'])vehicleObj = json.loads('{ "name": "Toyota Rav4", "engine": "2.5L", "price": 32000 }',object_hook=vehicleDecoder)print("Type of decoded object from JSON Data")
print(type(vehicleObj))
print("Vehicle Details")
print(vehicleObj.name, vehicleObj.engine, vehicleObj.price)
08 判断 Json 格式是否正确
输入:
{"company":{"employee":{"name":"emma","payble":{"salary":7000"bonus":800}}}
}
输出:
Given JSON string is Valid False
即格式错误
示例代码:
import jsondef validateJSON(jsonData):try:json.loads(jsonData)except ValueError as err:return Falsereturn TrueInvalidJsonData = """{ "company":{ "employee":{ "name":"emma", "payble":{ "salary":7000 "bonus":800} } } }"""
isValid = validateJSON(InvalidJsonData)print("Given JSON string is Valid", isValid)
09 获取 JSON 中key
为name
的所有值
输入:
[{"id":1,"name":"name1","color":["red","green"]},{"id":2,"name":"name2","color":["pink","yellow"]}
]
输出:
["name1", "name2"]
示例代码:
import jsonsampleJson = """[{"id":1,"name":"name1","color":["red","green"]},{"id":2,"name":"name2","color":["pink","yellow"]}
]"""data = []
try:data = json.loads(sampleJson)
except Exception as e:print(e)dataList = [item.get('name') for item in data]
print(dataList)
今天的教程,主要学习了:如何使用Python操作Json,包括读取和写入;大家都学会了吗?
欢迎关注公众号:KnowHub 知识加油站
后续我们会循序渐进的学习办公编程的其他知识,欢迎大家关注!
sqlrowset 转化为json_Python 操作 JSON 的 9 个示例相关推荐
- js之操作JSON数据
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- Python操作Json、Csv、Excel文件
一.Python操作Json文件 import json# json中使用双引号 data={'aa':11,'bb':22,'cc':'33' } # 字典转化json print(json.dum ...
- JSON基础 JS操作JSON总结
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式.同时,JSON是 JavaScript 原生格式,这意 ...
- JS操作JSON数据交换
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 采用完全独立于语言的文本格式,易于人阅读和编写.同时也易于机器解析和生成. JSON采用完全独立于语言的 ...
- python2 json大数据_大数据技术之python 操作json
本篇文章探讨了大数据技术之python 操作json,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. #!/usr/bin/env python import json s = ...
- Java操作json的通用类
2019独角兽企业重金招聘Python工程师标准>>> 提供一个Java中操作JSON格式的公共类: JSON(JavaScript Object Notation) 是一种轻量级的 ...
- .net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml)
.net core将URL请求格式化为XML或JSON(网站动态生成sitemap.xml) 首先设置 Startup.cs 文件 配置 ConfigureServices services.AddM ...
- php 操作json的各种格式
php中操作json的函数加密:json_encode() ,也就是把数据转成json格式 * 数组转换成json格式时,索引数组得出的结果是不带映射关系,所以都是[]:关联数组是映射,所以最外围是{ ...
- sqlserver慕课_SqlServer 操作 JSON
Intro Sql Server 从 2016 开始支持了一些 json 操作,最近的项目里也是好多地方直接用字段直接存成了 json ,需要了解一下怎么在 Sql Server 中操作 JSON. ...
最新文章
- 熬夜精心整理的一线大厂大数据、人工智能全套教程下载(含视频+源码)!!...
- 吐血整理《计算机网络五层协议之物理层(中)》
- java自动装箱和拆箱_关于java自动装箱和自动拆箱
- Java设计模式学习总结(15)——行为型模式之责任链模式
- 大数据_Flink_流式处理_Flik Vs Spark streaming_Flink的特点---Flink工作笔记0007
- cover 在html中的作用,Cover
- 小程序加载图片失败,默认图片的替换方法
- python循环捕捉异常_python – 如何在for循环迭代器中捕获异常
- html前端登录界面示例
- 一名优秀的前端大牛《司徒正美》
- 无需重装系统,Windows Server 2019系统硬盘无损从MBR转换为GPT格式
- GTA4 EFLC cheat code
- MSP430F149TIMER_A的连续计数模式
- 免费!中文!10个最佳Python学习网站推荐
- 高级货!Django实现基于人脸识别的门禁管理系统【源码】
- 最新历史版本 :LINUX KERNEL 配置编译中文指南
- t420i升级固态硬盘提升_技术丨如何升级固态硬盘,提高电脑性能
- 8月8日科技联播:库比蒂诺想修超级高铁,市长点名要苹果掏钱
- 设置Ubuntu 20.04的静态IP地址
- Android Fragment 真正的完全解析(上)
热门文章
- 【codevs1830】【BZOJ1951】古代猪文,数论综合
- 复数基础—— i = 根号 -1 _3
- linux ntp 追赶,Linux 时间同步 ntpd
- Delaunay三角剖分----OpenCV
- Android JNI开发入门之二
- python新线程打开cmd_Python – 函数无法在新线程中运行
- php 7 class 初始化 销毁_在 PHP 中使用和管理 Session
- DUBBO与ZOOKEEPER、SPRINGMVC整合和使用
- Web开发秘方(WEB DEVELOPMENT RECIPES)[47.5MB] PDF扫描版
- Swift - 将DaSwift-Data数据转换为[UInt8](bytes字节数组)