print (data)
# Python 字典类型转换为 JSON 对象
data1 = json.dumps(data)
print(data1)
# 将 JSON 对象转换为 Python 字典
data2 = json.loads(data1)
print(data2)
运行的结果是这样:
{'status': 'success', 'data': {'Type': 'json', 'result': [{'fruit1': 'apple', 'price': 25}, {'fruit2': 'banana', 'price': 18}]}}
{"status": "success", "data": {"Type": "json", "result": [{"fruit1": "apple", "price": 25}, {"fruit2": "banana", "price": 18}]}}
{'status': 'success', 'data': {'Type': 'json', 'result': [{'fruit1': 'apple', 'price': 25}, {'fruit2': 'banana', 'price': 18}]}}
可以看到json.dump()和Json.loads的区别。
Json的字段解析
获取Json的value字段值
只要先弄懂json文件的结构,就可以根据路径来获取所需要的Value值,包含在列表中的Value可以通过索引获取
#打印Json返回data中的status值
print(data['status'])
#打印Json返回的result内容
print(data['data']['result'])
#打印Json返回的result列表索引0的内容,即列表的第一个元素
print(data['data']['result'][0])
#打印Json返回的result列表中字段fruit1和fruit2的值,根据索引0找到第一个元素fruit1,索引1找到第二个元素fruit2
print(data['data']['result'][0]['fruit1'])
print(data['data']['result'][1]['fruit2'])
输出的结果为:
success
[{'fruit1': 'apple', 'price': 25}, {'fruit2': 'banana', 'price': 18}]
{'fruit1': 'apple', 'price': 25}
apple
banana
获取Json的Key字段名
使用.keys()获取
data3=data['data']['result'][0]
print (data3)
#获取所有的key的列表
print(data3.keys())
#获取所有的key单个输出
for key in data3:
print (key)
输出的结果为:
{'fruit1': 'apple', 'price': 25}
dict_keys(['fruit1', 'price'])
fruit1
price
复杂Json解析
如果json的key值是可变的,但是又希望取value值呢,这种情况比较复杂,可以用循环,先将key获取出来,再用key作为变量去逐个获取value值。
假设下方示例,需要获取一共有多少种水果并且各个水果的价格。
import json
data={
"status":"success",
"data":{
"Type":"json",
"result1":[
"fruit":"apple",
"price": 25
"fruit":"banana",
"price": 18
"result2": [
"fruit": "apple",
"price": 24
"fruit": "banana",
"price": 17
则可以采用下列方式实现:
# 获取可变key result1 & result2的名称
for i in data['data']:
# 判断是包含了result 才认为是有效数据需要执行下一步
if 'result' in i:
print (data['data'][i][0]['fruit'],data['data'][i][0]['price'])
print (data['data'][i][1]['fruit'],data['data'][i][1]['price'])
运行结果为:
apple 25
banana 18
apple 24
banana 17
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。Json格式有标准的特点。在爬虫时,解析json格式,更方便获取接口返回的一些重要信息。
else:
print '没有'
以上这篇Python判断是否json是否包含一个key的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
您可能感兴趣的文章:python 提取tuple类型值中json格式的key值方法python 提取key 为中文的json 串方法深入理解Python对Json的解析python解析含有重复key的json方法
mysql从5.7.8版本开始原生支持了JSON类型数据,同时可以对JSON类型字段中的特定的值进行查询和更新等操作,通过增加JSON类型的属性可以大大的提高我们在mysql表中存储的数据的拓展性,无需每次新增字段时都进行表结构的调整,下面我们不深入讲解底层的实现原理,我们主要来梳理一下我们在日常工作中使用实践
mysql版本:8.0.28
springboot版本: 2.2.2
测试表结构:
CREATE TABLE `t_json` (
`id` int unsig
MySQL数据库JSON字段类型与JSON函数1. MySQL JSON概述1.1 JSON字段说明1.2 JSON函数说明2. MySQL JSON操作
1. MySQL JSON概述
1.1 JSON字段说明
Mysql5.7版本及其以后提供了一个原生的Json字段类型,Json类型的值将不再以字符串的形式存储,而是采用一种允许快速读取文本元素(document elements)的内部二进制(internal binary)格式。在Json列插入或者更新的时候将会自动验证Json文本,未通过验证的文本
select tem.utsTempCode,json_extract(tem.utsTempCode, "$.view")
from adtemplate tem
where tem.templateId=101077
select tem.utsTempCode,json_extract(tem.utsTempCode, "$.view")
from adtemplate tem
where tem.templateId=101077
and json_extract(tem.utsTempCod.