Python获取json返回的字符串获取方法

文章来自于网络,若有侵权请联系删除!shadow213@163.com


1、使用 json.loads() 解析JSON字符串


import json

 

json_string = '{"name": "Alice", "age": 25, "city": "Beijing"}'

data = json.loads(json_string)

 

# 获取字符串值

name = data['name']

print("Name:", name)  # 输出: Name: Alice

2、使用 requests 库处理HTTP响应


import requests

 

response = requests.get('https://api.example.com/data')

if response.status_code == 200:

    data = response.json()

    name = data['name']

    print("Name:", name)

else:

    print("Failed to retrieve data")

3、处理嵌套的JSON数据

如果JSON数据是嵌套的,你可以通过连续的键访问来获取深层次的值。


import json

 

json_string = '{"person": {"name": "Alice", "age": 25, "address": {"city": "Beijing", "country": "China"}}}'

data = json.loads(json_string)

 

# 获取嵌套的字符串值

city = data['person']['address']['city']

print("City:", city)  # 输出: City: Beijing

4、使用 .get() 方法安全地获取值

为了防止因为键不存在而引发的KeyError异常,可以使用字典的.get()方法。如果指定的键不存在,.get()方法会返回None或者你提供的默认值。


import json

 

json_string = '{"name": "Alice", "age": 25}'

data = json.loads(json_string)

 

# 安全地获取值

city = data.get('city', 'Unknown')

print("City:", city)  # 输出: City: Unknown

5、遍历JSON数组

如果JSON数据包含数组,你可以遍历数组来处理每个元素


import json

 

json_string = '{"names": ["Alice", "Bob", "Charlie"]}'

data = json.loads(json_string)

 

# 遍历数组

for name in data['names']:

    print(name)

# 输出:

# Alice

# Bob

# Charlie

6、使用列表推导式简化遍历

对于遍历数组的操作,可以使用列表推导式来简化代码。


import json

 

json_string = '{"names": ["Alice", "Bob", "Charlie"]}'

data = json.loads(json_string)

 

# 使用列表推导式

names = [name for name in data['names']]

print(names)  # 输出: ['Alice', 'Bob', 'Charlie']

7、处理JSON中的特殊字符

如果JSON字符串中包含特殊字符(如转义字符),json.loads()会自动处理这些字符。


import json

 

json_string = '{"message": "Hello, \\"World\\"!"}'

data = json.loads(json_string)

 

# 获取包含特殊字符的字符串

message = data['message']

print(message)  # 输出: Hello, "World"!

8、处理JSON中的日期和时间

如果JSON数据中包含日期和时间,可以使用datetime模块来解析和处理这些值。


import json

from datetime import datetime

 

json_string = '{"date": "2023-10-01T12:00:00Z"}'

data = json.loads(json_string)

 

# 解析日期时间

date = datetime.fromisoformat(data['date'].replace("Z", "+00:00"))

print("Date:", date)  # 输出: Date: 2023-10-01 12:00:00+00:00

9、格式化JSON数据


import json

 

# 未格式化的JSON字符串

json_str = '{"name":"John","age":30,"city":"New York"}'

 

# 将字符串解析为JSON对象

json_obj = json.loads(json_str)

 

# 使用indent参数来设置缩进,使输出更加美观

formatted_json_str = json.dumps(json_obj, indent=4)

 

print(formatted_json_str)

 

展示样式:

{

    "name": "John",

    "age": 30,

    "city": "New York"

}


————————————————


                            

                        

原文链接:https://blog.csdn.net/vlking/article/details/142771374


Powered By Z-BlogPHP 1.7.3

仅供个人使用