Gitlib Gitlib
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)

Ravior

以梦为马,莫负韶华
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)
  • PHP

  • Golang

  • Python

    • Python使用lambda表达式
    • Python之线程池
    • Python之装饰器
    • Python之chardet模块使用
    • Python之copy模块使用
    • Python之functools模块使用
    • Python之hashlib模块使用
    • Python之json模块使用
      • 主要方法
      • 代码测试
    • Python之pickle模块使用
    • Python之pid模块使用
    • Python之pypinyin模块使用
    • Python之pyqrcode模块使用
    • Python之threading模块使用
    • Python之base64模块使用
    • Python项目Docker打包
  • Javascript

  • 其他语言

  • 编程语言
  • Python
Ravior
2014-01-25
目录

Python之json模块使用

JSON是目前使用最广发的数据交换格式,python提供了json模块来处理JSON数据。

# 主要方法

  • json.dumps(obj):将python对象转化成json字符串
  • json.dump():将Python对象转换成数据流
  • json.loads():将json字符串转换成Python对象
  • json.load():将数据流转换成Python对象

# 代码测试

# encoding=utf-8
# json模块使用

import logging
import json
from StringIO import StringIO

logging.basicConfig(level = logging.DEBUG, format='%(levelname)s - %(message)s')
logger = logging.getLogger(__name__)


# 将python对象转化成json字符串
json_data = json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
logger.debug(json_data)


json_io = StringIO()
# 将Python对象写入数据流
json.dump(['foo', {'bar': ('baz', None, 1.0, 2)}], json_io)
logger.debug(json_io)
logger.debug(json_io.getvalue())

# 将json字符串转换成Python对象
data = json.loads(json_data)
logger.debug(data)

# 将数据流转换成Python对象
json_io = StringIO('["foo", {"bar": ["baz", null, 1.0, 2]}]')
data = json.load(json_io)
logger.debug(data)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

输出结果:

DEBUG - ["foo", {"bar": ["baz", null, 1.0, 2]}]
DEBUG - <StringIO.StringIO instance at 0x108429f80>
DEBUG - ["foo", {"bar": ["baz", null, 1.0, 2]}]
DEBUG - [u'foo', {u'bar': [u'baz', None, 1.0, 2]}]
DEBUG - [u'foo', {u'bar': [u'baz', None, 1.0, 2]}]
1
2
3
4
5

日常工作中,dumps()/**loads()**用的比较多。

#Python
上次更新: 2022/12/01, 11:09:34
Python之hashlib模块使用
Python之pickle模块使用

← Python之hashlib模块使用 Python之pickle模块使用→

最近更新
01
常用游戏反外挂技术总结
11-27
02
Golang开发实践万字总结
11-11
03
Redis万字总结
10-30
更多文章>
Theme by Vdoing | Copyright © 2011-2022 Ravior | 粤ICP备17060229号-3 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式