前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-数据解析-json模块

Python-数据解析-json模块

作者头像
小团子
发布2019-07-18 15:16:17
1.2K0
发布2019-07-18 15:16:17
举报
文章被收录于专栏:数据云团数据云团
代码语言:javascript
复制
import json

json 一种轻量级的数据交换格式。

一、JSON 的值

  • 数字(整数或浮点数)
  • 字符串(在双引号中)
  • 逻辑值(true 或 false)
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null
代码语言:javascript
复制
{
  "title": "JSON Example",
  "nested": {
    "someInteger": 7,
    "someBoolean": true,
    "someArray": Array[3][
      "list of",
      "fake strings",
      "and fake keys"
    ]
  }
}

二、json 模块

json 模块提供了 python 对象的序列化和反序列化功能。

  • 序列化:

将一个 python 对象编码转换为 json 字符串。

  • 反序列化:

将 json 字符串解码转换为 python 对象。

json 模块提供了4个方法:

  • dumps()
  • dump()
  • loads()
  • load()

其中 loads() 和 load() 方法用于 python 对象的反序列化,dumps() 和 dump() 方法用于 python 对象的序列化。

① json.loads()

把 json 格式字符串解码转换成 python 对象。

代码语言:javascript
复制
import json

str_list = "[1, 2, 3, 4]"
str_dict = "{'city': '长沙', 'name': '数据云团'}"

json.loads(str_list)
>>>[1, 2, 3, 4]

json.loads(str_dict)
>>>{'city': '长沙', 'name': '数据云团'}

② json.dumps()

将 python 类型编码为 json 字符串,返回一个 str 对象。

代码语言:javascript
复制
import json
demo_list = [1, 2, 3, 4]
demo_tuple = (1, 2, 3, 4)
demo_dict = {'city': '长沙', 'name': '数据云团'}

json.dumps(demo_list)
>>>[1, 2, 3, 4]

json.dumps(demo_tuple)
>>>[1, 2, 3, 4]
# 注意:json.dumps() 处理中文时默认使用的 ASCII 编码,会导致中文无法正常显示
# 记住:处理中文时,添加参数 ensure_ascii=False 来禁用 ASCII 编码
print(json.dumps(demo_dict, ensure_ascii=False))

③ json.load()

读取文件中 json 形式的字符串元素,转化成 python 类型。

它与 json.loads() 方法的区别在于:

一个读取的是字符串;一个读取的是文件。

代码语言:javascript
复制
# 读取一个名为 listStr.json 和 dictStr.json 的文件内容
import json

str_list = json.load(open("listStr.json"))
print(str_list)

str_dict = json.load(open("dictStr.json"))
print(str_dict)

④ json.dump()

将 python 内置类型序列化为 json 对象后写入文件。

它与 json.dumps() 方法的区别在于写入的是文件还是字符串。

代码语言:javascript
复制
import json

str_list = [{"city": "长沙"}, {"name": "数据云团"}]
json.dump(str_list, open("listStr.json", "w"), ensure_ascii=False)

str_dict = {"city": "长沙", "name": "数据云团"}
json.dump(str_dict, open("listStr.json", "w"), ensure_ascii=False)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档