Python遍历json数据
遍历 JSON 对象可以使用 Python 内置的 json 模块中的 json.loads() 方法将 JSON 字符串转换为 Python 字典,然后使用字典的遍历方式进行遍历。以下是一个示例代码:
import json # 定义 JSON 字符串 json_str = '{"name": "John", "age": 30, "city": "New York"}' # 将 JSON 字符串转换为 Python 字典 json_dict = json.loads(json_str) # 遍历 Python 字典 for key, value in json_dict.items(): print(key, value)
在上面的示例中,我们定义了一个 JSON 字符串,并使用 json.loads() 方法将其转换为 Python 字典。然后,我们使用字典的 items() 方法获取字典的键值对,并使用 for 循环遍历字典的键值对。
如果 JSON 对象的层级比较深,可以使用递归方式进行遍历。例如,对于以下 JSON 对象:
{ "name": "John", "age": 30, "address": { "city": "New York", "state": "NY" }, "phones": [ { "type": "home", "number": "555-555-1234" }, { "type": "work", "number": "555-555-5678" } ] }
可以使用以下代码进行遍历:
def traverse(obj): if isinstance(obj, dict): for key, value in obj.items(): print(key) traverse(value) elif isinstance(obj, list): for item in obj: traverse(item) else: print(obj) # 定义 JSON 字符串 json_str = '{"name": "John", "age": 30, "address": {"city": "New York", "state": "NY"}, "phones": [{"type": "home", "number": "555-555-1234"}, {"type": "work", "number": "555-555-5678"}]}' # 将 JSON 字符串转换为 Python 对象 json_obj = json.loads(json_str) # 遍历 Python 对象 traverse(json_obj)
在上面的示例中,我们定义了一个 traverse() 函数,它使用递归方式遍历 Python 对象。如果遍历到字典或列表,则递归调用 traverse() 函数。如果遍历到其他类型的对象,则直接打印对象的值。然后,我们使用 json.loads() 方法将 JSON 字符串转换为 Python 对象,并使用 traverse() 函数遍历 Python 对象。
相关文章