当前位置:   article > 正文

Python中数据和JSON互相转换_python 列表转json

python 列表转json

什么是json

  • JSON是一种轻量级的数据交互格式。可以按照JSON指定的格式去组织和封装数据 。
  • JSON本质上是一个带有特定格式的字符串
  • 主要功能:json就是一种在各个编程语言中流通的数据格式,负责不同编程语言中的数据传递和交互. 类似于:
    • 国际通用语言-英语
    • 中国56个民族不同地区的通用语言-普通话

 json有什么用

  • 各种编程语言存储数据的容器不尽相同,在Python中有字典dict这样的数据类型, 而其它语言可能没有对应的字典。

为了让不同的语言都能够相互通用的互相传递数据,JSON就是一种非常良好的中转数据格式。如下图,以Python和C语言互传数据为例:

 json格式数据转化

  •  json格式数据转化
# json数据的格式可以是:

{"name": "admin", "age": 18}

# 也可以是: 

[{"name": "admin", "age": 18}, {"name": "root", "age": 16}, {"name": "张三", "age": 20}]

Python数据和Json数据的相互转化

  • Python数据和Json数据的相互
    1. # 导入JSON模块
    2. import json
    3. # 准备列表,列表内每一个元素都是字典,将其转换为JSON
    4. data = [{'name': "张三", 'age': 12}, {'name': "李四", 'age': 20}, {'name': "赵武", 'age': 32}]
    5. # 使用ensure_ascii='False' 表示不使用Ascii转换中文
    6. # 使用ensure_ascii='True' 表示使用Ascii转换中文
    7. json_str = json.dumps(data, ensure_ascii=False)
    8. print(type(json_str))
    9. print(json_str)
    10. # 准备字典,将字典转换为JSON
    11. data = {'name': "张三", 'age': 12}
    12. json_str = json.dumps(data, ensure_ascii=False)
    13. print(type(json_str))
    14. print(json_str)
    15. # 将JSON字符串转换Python数据类型[{k: v, k: v}, {k: v, k: v}]
    16. s = '[{"name": "张三", "age": 12}, {"name": "李四", "age": 20}, {"name": "赵武", "age": 32}]'
    17. l = json.loads(s)
    18. print(type(l))
    19. print(l)
    20. # 将JSON字符串转换Python数据类型{k: v, k: v}
    21. s = '{"name": "张三", "age": 12}'
    22. l = json.loads(s)
    23. print(type(l))
    24. print(l)
    25. 结果:
    26. <class 'str'>
    27. [{"name": "张三", "age": 12}, {"name": "李四", "age": 20}, {"name": "赵武", "age": 32}]
    28. <class 'str'>
    29. {"name": "张三", "age": 12}
    30. <class 'list'>
    31. [{'name': '张三', 'age': 12}, {'name': '李四', 'age': 20}, {'name': '赵武', 'age': 32}]
    32. <class 'dict'>
    33. {'name': '张三', 'age': 12}

    总结:

1. json:是一种轻量级的数据交互格式, 采用完全独立于编程语言的文本格式来存储和表示数据(就是字符串)

Python语言使用JSON有很大优势,因为:JSON无非就是一个单独的字典或一个内部元素都是字典的列表

所以JSON可以直接和Python的字典或列表进行无缝转换。

2. json格式数据转化

         通过   json.dumps(data)   方法把python数据转化为了 json数据

                  data = json.dumps(data)

                  如果有中文可以带上:ensure_ascii=False参数来确保中文正常转换

        通过  json.loads(data)  方法把josn数据转化为了 python列表或字典

                 data = json.loads(data)

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号