基于Python将JSON字符串转换为字典

Written by

in

文章目录
  • import json # JSON 字符串 json_str = ‘{“name”: “张三”, “age”: 25, “city”: “北京”}’ # 转换为字典 data_dict = json.loads(json_str) print(data_dict) print(type(data_dict)) # <class ‘dict’> print(data_dict[‘name’]) # 张三
  • import json # 示例 JSON 字符串 json_string = ”’ { “name”: “李四”, “age”: 30, “hobbies”: [“阅读”, “游泳”, “编程”], “address”: { “street”: “中山路123号”, “city”: “上海” }, “is_student”: false } ”’ # 转换为字典 data = json.loads(json_string) # 访问数据 print(f”姓名: {data[‘name’]}”) print(f”年龄: {data[‘age’]}”) print(f”爱好: {data[‘hobbies’]}”) print(f”城市: {data[‘address’][‘city’]}”) print(f”是否学生: {data[‘is_student’]}”) # 遍历字典 for key, value in data.items(): print(f”{key}: {value}”)
  • import json json_str = ‘{“name”: “王五”, “age”: 28’ # 缺少闭合括号,无效JSON try: data = json.loads(json_str) print(“转换成功:”, data) except json.JSONDecodeError as e: print(f”JSON解析错误: {e}”) print(f”错误位置: 行 {e.lineno}, 列 {e.colno}”)
  • import json # 从文件读取 JSON with open(‘data.json’, ‘r’, encoding=’utf-8′) as f: data = json.load(f) # 注意是 load() 不是 loads() print(data)
  • JSON 格式要求: 键名必须用双引号 " 包裹(单引号会报错) 字符串值必须用双引号 布尔值用 true/false(Python 中是 True/False) 空值用 null(Python 中是 None) loads() vs load(): json.loads(): 从字符串解析 json.load(): 从文件对象解析 中文处理: # 确保正确处理中文 json_str = ‘{“name”: “张三”}’ data = json.loads(json_str) print(data[‘name’]) # 正常显示中文 # 输出时保持中文 print(json.dumps(data, ensure_ascii=False)) # {“name”: “张三”}
  • import json data = { “name”: “赵六”, “age”: 35, “city”: “广州” } # 转换为 JSON 字符串 json_str = json.dumps(data, ensure_ascii=False, indent=2) print(json_str) 这样就可以轻松地在 JSON 字符串和 Python 字典之间进行转换了! 以上就是基于Python将JSON字符串转换为字典的详细内容,更多关于Python JSON转字典的资料请关注风君子博客其它相关文章! 您可能感兴趣的文章: Python中XML转JSON、XML转字典代码示例 python中json、字典的区别以及相互转换方法 python字典和JSON格式的转换方式 python使用json将字符串转字典报错的解决
  • 目录
    • 基本方法
    • 完整示例
    • 处理异常
    • 从文件读取 JSON
    • 注意事项
    • 反向操作:字典转 JSON 字符串

    在 Python 中,将 JSON 字符串转换为字典非常简单,使用内置的 json 模块即可。

    import json
    
    # JSON 字符串
    json_str = '{"name": "张三", "age": 25, "city": "北京"}'
    
    # 转换为字典
    data_dict = json.loads(json_str)
    
    print(data_dict)
    print(type(data_dict))  # <class 'dict'>
    print(data_dict['name'])  # 张三
    

    import json
    
    # 示例 JSON 字符串
    json_string = '''
    {
        "name": "李四",
        "age": 30,
        "hobbies": ["阅读", "游泳", "编程"],
        "address": {
            "street": "中山路123号",
            "city": "上海"
        },
        "is_student": false
    }
    '''
    
    # 转换为字典
    data = json.loads(json_string)
    
    # 访问数据
    print(f"姓名: {data['name']}")
    print(f"年龄: {data['age']}")
    print(f"爱好: {data['hobbies']}")
    print(f"城市: {data['address']['city']}")
    print(f"是否学生: {data['is_student']}")
    
    # 遍历字典
    for key, value in data.items():
        print(f"{key}: {value}")
    

    import json
    
    json_str = '{"name": "王五", "age": 28'  # 缺少闭合括号,无效JSON
    
    try:
        data = json.loads(json_str)
        print("转换成功:", data)
    except json.JSONDecodeError as e:
        print(f"JSON解析错误: {e}")
        print(f"错误位置: 行 {e.lineno}, 列 {e.colno}")
    

    import json
    
    # 从文件读取 JSON
    with open('data.json', 'r', encoding='utf-8') as f:
        data = json.load(f)  # 注意是 load() 不是 loads()
        
    print(data)
    

    JSON 格式要求

    • 键名必须用双引号 " 包裹(单引号会报错)
    • 字符串值必须用双引号
    • 布尔值用 true/false(Python 中是 True/False
    • 空值用 null(Python 中是 None

    loads() vs load()

    • json.loads(): 从字符串解析
    • json.load(): 从文件对象解析

    中文处理

    # 确保正确处理中文
    json_str = '{"name": "张三"}'
    data = json.loads(json_str)
    print(data['name'])  # 正常显示中文
    
    # 输出时保持中文
    print(json.dumps(data, ensure_ascii=False))  # {"name": "张三"}
    

    import json
    
    data = {
        "name": "赵六",
        "age": 35,
        "city": "广州"
    }
    
    # 转换为 JSON 字符串
    json_str = json.dumps(data, ensure_ascii=False, indent=2)
    print(json_str)
    

    这样就可以轻松地在 JSON 字符串和 Python 字典之间进行转换了!

    以上就是基于Python将JSON字符串转换为字典的详细内容,更多关于Python JSON转字典的资料请关注风君子博客其它相关文章!

    您可能感兴趣的文章:

    • Python中XML转JSON、XML转字典代码示例
    • python中json、字典的区别以及相互转换方法
    • python字典和JSON格式的转换方式
    • python使用json将字符串转字典报错的解决

    站内搜索