python数据封装json格式数据
时间:2019-04-13
本文章向大家介绍python数据封装json格式数据,主要包括python数据封装json格式数据使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
最简单的使用方法是:
>>> import simplejson as json >>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}]) '["foo", {"bar": ["baz", null, 1.0, 2]}]' >>> print(json.dumps("\"foo\bar")) "\"foo\bar" >>> print(json.dumps(u'\u1234')) "\u1234" >>> print(json.dumps('\\')) "\\" >>> print(json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True)) {"a": 0, "b": 0, "c": 0} >>> from simplejson.compat import StringIO >>> io = StringIO() >>> json.dump(['streaming API'], io) >>> io.getvalue() '["streaming API"]'
一般情况下:
>>> import simplejson as json >>> obj = [1,2,3,{'4': 5, '6': 7}] >>> json.dumps(obj, separators=(',', ':'), sort_keys=True) '[1,2,3,{"4":5,"6":7}]'
这样得到的json数据不易于查看,所有数据都显示在一行上面。如果我们需要格式更加良好的json数据,我们可以如下使用方法:
>>> import simplejson as json >>> >>> s = json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4) >>> s '{\n "4": 5,\n "6": 7\n}' >>> print('\n'.join([l.rstrip() for l in s.splitlines()])) { "4": 5, "6": 7 } >>>
\n不会影响json本身的数据解析,请放心使用。
解析json格式的字符串:
obj = [u'foo', {u'bar': [u'baz', None, 1.0, 2]}] json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]') == obj True json.loads('"\\"foo\\bar"') == u'"foo\x08ar' True from StringIO import StringIO io = StringIO('["streaming API"]') json.load(io)[0] == 'streaming API' True
读取并解析json格式文件
def edit(request): filepath = os.path.join(os.path.dirname(__file__),'rights.json') content = open(filepath).read().decode('utf-8') rights = simplejson.loads(content) print rights print rights[0]['manageTotal']
json数据格式为:
[{"manageTotal":"管理"}]
注意:json不支持单引号
- HashSet 源码分析
- Angular开发实践(五):深入解析变化监测
- 【关关的刷题日记58】Leetcode 112 Path Sum
- 学大伟业Day解题报告
- Python数据增强(data augmentation)库--Augmentor 使用介绍
- Leetcode-Easy 101. Symmetric Tree
- 数据结构-栈的定义及python实现
- 【关关的刷题日记59】Leetcode 257 Binary Tree Paths
- 学大伟业 国庆Day2
- ECMAScript 6入门 - 变量的解构赋值
- 二叉排序树 python实现
- ES6新特性概览
- 数据结构-顺序表的定义及python实现
- 洛谷P1516 青蛙的约会
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C++核心准则SF.6:(只)为转换,基础库或在局部作用域内部使用using namspace指令
- C++核心准则SF.7:不要在头文件中的全局作用域中使用using namespace指令
- 二叉树:看看这些树的最小深度
- Hive初体验
- Hive数据的存储以及在centos7下进行Mysql的安装
- 一个改进的数学学习工具
- 配置hive的元数据到Mysql中
- 二叉树:我有多少个节点?
- POST请求和GET请求如何传递和接收解析参数
- 二叉树:我平衡么?
- 机器学习中的常用编码方式(二)
- 个人Next主题配置文件
- 数组中出现次数超过一半的数字
- 二叉树:找我的所有路径?
- Java每日一题20201008