热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sqlrowset转化为json_Python操作JSON的9个示例

Python操作JSON的9个示例Json(JavaScriptObjectNotation的缩写)是一种数据交换格式,最常用于客户端-服

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)

d4711871bdfb6442255eb53470060986.png

02 访问 JSON 中的key2的值

输入:

data = {"key1":"value1","key2":"value2"}

输出:

value2

示例代码:

import jsonsampleJson = """{"key1": "value1", "key2": "value2"}"""# 我们用到了json库的loads方法
data = json.loads(sampleJson)
print(data['key2'])

e52ebc814042ab25309342bfb0b6fb33.png

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)

4d077eeb8b82d5d0a797d301eb88cbda.png

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")

4366f32aa095bdbcbc2eaa2551fe3444.png

4b7a408a22a94ad66750f777286fd608.png

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'])

d5ceb924b79b783a7c4f980eca3a9e5d.png

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)

f280ff227984d000114d7fdfe9c6e098.png

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)

0cf82bb83f05f01d7233f33d9e670cea.png

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)

fae8ae6ee1a4025d0ba2633bdd994f83.png

09 获取 JSON 中keyname的所有值

输入:

[{"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)

1f4b112d4da1bb879b5306f4dbf15077.png


今天的教程,主要学习了:如何使用Python操作Json,包括读取和写入;大家都学会了吗?

欢迎关注公众号:KnowHub 知识加油站

后续我们会循序渐进的学习办公编程的其他知识,欢迎大家关注!



推荐阅读
author-avatar
幸福抉择2502901973
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有