以下是我做的对于python中json模块的demo

运行效果:

Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>> JSON(JavaScript Object Notation)是一种轻量级的数据交换
格式。易于人阅读和编写,同时也易于机器解析和生成。 在python中,json模块提供的dumps()方法可以对简单的数据进行编码:
import json obj = [['a', 'b', 'c'], 1, 3, 4, 'good', 'boy',(88, 42, 'hongten'), {'name' : 'hongten'}]
encodedjson = json.dumps(obj)
print(repr(obj))
print(encodedjson) #输出:
#[['a', 'b', 'c'], 1, 3, 4, 'good', 'boy', (88, 42, 'hongten'), {'name': 'hongten'}]
#[["a", "b", "c"], 1, 3, 4, "good", "boy", [88, 42, "hongten"], {"name": "hongten"}] objA = [True, False, None]
encodedjsonA = json.dumps(objA)
print(repr(objA))
print(encodedjsonA) #输出:
#[True, False, None]
#[true, false, null] 在json的编码过程中,会存在从python原始类型向json类型的转换过程,具体的转换
如下: python --> json
dict object
list,tuple array
str,unicode string
int,long,float number
True true
False false
None null json转换为python数据类型:
import json
testB = 'hongten'
dump_test = json.dumps(testB)
print(testB)
print(dump_test)
load_test = json.loads(dump_test)
print(load_test) #输出:
#hongten
#"hongten"
#hongten 而json转换为python类型的时候,调用的是json.loads()方法,按照如下规则转换的: json --> python
object dict
array list
string str
number(int) int
number(real) float
true True
false False
null None 排序功能使得存储的数据更加有利于观察,也使得对json输出的对象进行比较:
import json
data1 = {'b':789,'c':456,'a':123}
data2 = {'a':123,'b':789,'c':456}
d1 = json.dumps(data1,sort_keys=True)
d2 = json.dumps(data2)
d3 = json.dumps(data2,sort_keys=True)
print(d1)
print(d2)
print(d3)
print(d1==d2)
print(d1==d3) #输出:
#{"a": 123, "b": 789, "c": 456}
#{"a": 123, "c": 456, "b": 789}
#{"a": 123, "b": 789, "c": 456}
#False
#True indent参数是缩进的意思:
import json
testA = {'name' : 'hongten',
'age' : '',
'gender' : 'M'}
test_dump = json.dumps(testA, sort_keys = True, indent = 4)
print(test_dump) #输出:
#{
# "age": "20",
# "gender": "M",
# "name": "hongten"
#} ##################################################
[['a', 'b', 'c'], 1, 3, 4, 'good', 'boy', (88, 42, 'hongten'), {'name': 'hongten'}]
[["a", "b", "c"], 1, 3, 4, "good", "boy", [88, 42, "hongten"], {"name": "hongten"}]
[True, False, None]
[true, false, null]
hongten
"hongten"
hongten
{"a": 123, "b": 789, "c": 456}
{"b": 789, "c": 456, "a": 123}
{"a": 123, "b": 789, "c": 456}
False
True
{
"age": "",
"gender": "M",
"name": "hongten"
}
>>>

==================================================

代码部分:

==================================================

 #python json

 #Author   :   Hongten
#Mailto : hongtenzone@foxmail.com
#Blog : http://www.cnblogs.com/hongten
#QQ : 648719819
#Version : 1.0
#Create : 2013-08-29 import json __doc__ = '''
JSON(JavaScript Object Notation)是一种轻量级的数据交换
格式。易于人阅读和编写,同时也易于机器解析和生成。 在python中,json模块提供的dumps()方法可以对简单的数据进行编码:
import json obj = [['a', 'b', 'c'], 1, 3, 4, 'good', 'boy',(88, 42, 'hongten'), {'name' : 'hongten'}]
encodedjson = json.dumps(obj)
print(repr(obj))
print(encodedjson) #输出:
#[['a', 'b', 'c'], 1, 3, 4, 'good', 'boy', (88, 42, 'hongten'), {'name': 'hongten'}]
#[["a", "b", "c"], 1, 3, 4, "good", "boy", [88, 42, "hongten"], {"name": "hongten"}] objA = [True, False, None]
encodedjsonA = json.dumps(objA)
print(repr(objA))
print(encodedjsonA) #输出:
#[True, False, None]
#[true, false, null] 在json的编码过程中,会存在从python原始类型向json类型的转换过程,具体的转换
如下: python --> json
dict object
list,tuple array
str,unicode string
int,long,float number
True true
False false
None null json转换为python数据类型:
import json
testB = 'hongten'
dump_test = json.dumps(testB)
print(testB)
print(dump_test)
load_test = json.loads(dump_test)
print(load_test) #输出:
#hongten
#"hongten"
#hongten 而json转换为python类型的时候,调用的是json.loads()方法,按照如下规则转换的: json --> python
object dict
array list
string str
number(int) int
number(real) float
true True
false False
null None 排序功能使得存储的数据更加有利于观察,也使得对json输出的对象进行比较:
import json
data1 = {'b':789,'c':456,'a':123}
data2 = {'a':123,'b':789,'c':456}
d1 = json.dumps(data1,sort_keys=True)
d2 = json.dumps(data2)
d3 = json.dumps(data2,sort_keys=True)
print(d1)
print(d2)
print(d3)
print(d1==d2)
print(d1==d3) #输出:
#{"a": 123, "b": 789, "c": 456}
#{"a": 123, "c": 456, "b": 789}
#{"a": 123, "b": 789, "c": 456}
#False
#True indent参数是缩进的意思:
import json
testA = {'name' : 'hongten',
'age' : '20',
'gender' : 'M'}
test_dump = json.dumps(testA, sort_keys = True, indent = 4)
print(test_dump) #输出:
#{
# "age": "20",
# "gender": "M",
# "name": "hongten"
#} ''' print(__doc__)
print('#' * 50)
#使用json.dumps()方法对简单数据进行编码
obj = [['a', 'b', 'c'], 1, 3, 4, 'good', 'boy',(88, 42, 'hongten'), {'name' : 'hongten'}]
encodedjson = json.dumps(obj)
print(repr(obj))
print(encodedjson) #[['a', 'b', 'c'], 1, 3, 4, 'good', 'boy', (88, 42, 'hongten'), {'name': 'hongten'}]
#[["a", "b", "c"], 1, 3, 4, "good", "boy", [88, 42, "hongten"], {"name": "hongten"}] objA = [True, False, None]
encodedjsonA = json.dumps(objA)
print(repr(objA))
print(encodedjsonA) #[True, False, None]
#[true, false, null] #测试json转换为python类型
testB = 'hongten'
dump_test = json.dumps(testB)
print(testB)
print(dump_test)
load_test = json.loads(dump_test)
print(load_test) #输出:
#hongten
#"hongten"
#hongten #排序测试
data1 = {'b':789,'c':456,'a':123}
data2 = {'a':123,'b':789,'c':456}
d1 = json.dumps(data1,sort_keys=True)
d2 = json.dumps(data2)
d3 = json.dumps(data2,sort_keys=True)
print(d1)
print(d2)
print(d3)
print(d1==d2)
print(d1==d3) #输出:
#{"a": 123, "b": 789, "c": 456}
#{"a": 123, "c": 456, "b": 789}
#{"a": 123, "b": 789, "c": 456}
#False
#True #测试缩进
testA = {'name' : 'hongten',
'age' : '',
'gender' : 'M'}
test_dump = json.dumps(testA, sort_keys = True, indent = 4)
print(test_dump)
#输出:
#{
# "age": "20",
# "gender": "M",
# "name": "hongten"
#}

参考资料:

http://www.cnblogs.com/coser/archive/2011/12/14/2287739.html

python开发_json_一种轻量级的数据交换格式的更多相关文章

  1. JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式

    JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 它基于JavaScript(Standard ECMA-262 3rd Edition - D ...

  2. JSON --- 一种轻量级的数据交换格式

    目录 1. 语法 2. 解析与序列化 JSON.stringify( jsData[, filter, indent] ) JSON.parse( jsonData[, reduction]) JSO ...

  3. 两种常用的数据交换格式:XML和JSON

    不同编程语言之间的数据传输,需要一种通用的数据交换格式,它需要简洁.易于数据储存.快速读取,且独立于各种编程语言.我们往往传输的是文本文件,比如我们都知道的csv(comma seperated va ...

  4. 常用两种数据交换格式之XML和JSON的比较

    目前,在web开发领域,主要的数据交换格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生: 相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你 ...

  5. XML和JSON两种数据交换格式的比较

    在web开发领域,主要的数据交换格式有XML和JSON,对于在 Ajax开发中,是选择XML还是JSON,一直存在着争议,个人还是比较倾向于JSON的.一般都输出Json不输出xml,原因就是因为 x ...

  6. JSON(JS 对象简谱,一种数据交换格式)

    JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式 存储和表示数据的文本格式 层次结构清晰.简洁 JSON是一个序列化的对象或数组 1.js ...

  7. 数据交换格式XML和JSON对比

    1.简介: XML:extensible markup language,一种类似于HTML的语言,他没有预先定义的标签,使用DTD(document type definition)文档类型定义来组 ...

  8. json 数据交换格式与java

    http://wiki.mbalib.com/wiki/数据交换 数据交换是指为了满足不同信息系统之间数据资源的共享需要,依据一定的原则,采取相应的技术,实现不同信息系统之间数据资源共享的过程. 数据 ...

  9. iOS 中 JSON 数据交换格式

         JSON (JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 的详细教程,能够參见 JSON 中国:http://www.json.org.cn/ ...

随机推荐

  1. 【LinuxC】GCC编译C程序,关闭随机基址

    1.编译.链接和运行程序 C代码示例: #include <stdio.h> #include <stdlib.h> int main() { printf("hel ...

  2. 浅析Postgres中的并发控制(Concurrency Control)与事务特性(上)

    转载:https://www.cnblogs.com/flying-tiger/p/9567213.html#4121483#undefined PostgreSQL为开发者提供了一组丰富的工具来管理 ...

  3. F5后端nginx+tomcat应用如何获得用户的真实ip【转】

    根据业务需要要求记录每个通过wap或者客户端访问我们服务器的用户真实ip但是由于业务前端部署了两个3900系列的F5设备导致程序一直获得F5设备自身的ip,所以笔者考虑可能是因为F5导致无法获得用户的 ...

  4. SQL自定义排序 ORDER BY

    将id为30002 排在最前面 50第二 其他 不变 SELECT TOP 10 * FROM [表名] t1 ORDER BY case t1.ID when 30002 then 0 WHEN 5 ...

  5. React-Native 之 环境配置和简单使用

    # 前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会 ...

  6. ASP防XSS代码

    原作是在GitHub上,基于Node.js所写.但是..ASP的JS引擎跟V8又有些不同..于是,嗯.. <% Function AntiXSS_VbsTrim(s) AntiXSS_VbsTr ...

  7. 利用CSS函数calc(...)实现Web页面左右布局

    前言 因为自己的网站需要,想要做一个左右布局的页面: 左边是导航菜单之类的东西.右边是文档内容(因为最近看的一些软件的文档页面都是这么布局的): 左边固定宽度——300像素.右边使用剩余的宽度: 左边 ...

  8. Linux网络综合命令——IP

    1.作用 ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig.route等,使用权限为超级用户.几乎所有的Linux发行版本都支持该命令. ...

  9. C实现线程池

    简介:这里使用linux下的互斥锁和条件变量实现了一个线程池.代码由一个未知作者完成,第二任作者补充优化. 本人仅仅是做了一些注释工作. 代码如下: /*! .h */ #include <st ...

  10. LeetCode403. Frog Jump

    A frog is crossing a river. The river is divided into x units and at each unit there may or may not ...