python轻量级json数据库_python开发_json_一种轻量级的数据交换格式

1 #python json

2

3 #Author : Hongten

4 #Mailto : hongtenzone@foxmail.com

5 #Blog : http://www.cnblogs.com/hongten

6 #QQ : 648719819

7 #Version : 1.0

8 #Create : 2013-08-29

9

10 importjson11

12 __doc__ = '''

13 JSON(JavaScript Object Notation)是一种轻量级的数据交换14 格式。易于人阅读和编写,同时也易于机器解析和生成。15

16 在python中,json模块提供的dumps()方法可以对简单的数据进行编码:17 import json18

19 obj = [['a', 'b', 'c'], 1, 3, 4, 'good', 'boy',(88, 42, 'hongten'), {'name' : 'hongten'}]20 encodedjson = json.dumps(obj)21 print(repr(obj))22 print(encodedjson)23

24 #输出:25 #[['a', 'b', 'c'], 1, 3, 4, 'good', 'boy', (88, 42, 'hongten'), {'name': 'hongten'}]26 #[["a", "b", "c"], 1, 3, 4, "good", "boy", [88, 42, "hongten"], {"name": "hongten"}]27

28 objA = [True, False, None]29 encodedjsonA = json.dumps(objA)30 print(repr(objA))31 print(encodedjsonA)32

33 #输出:34 #[True, False, None]35 #[true, false, null]36

37 在json的编码过程中,会存在从python原始类型向json类型的转换过程,具体的转换38 如下:39

40 python --> json41 dict object42 list,tuple array43 str,unicode string44 int,long,float number45 True true46 False false47 None null48

49 json转换为python数据类型:50 import json51 testB = 'hongten'52 dump_test = json.dumps(testB)53 print(testB)54 print(dump_test)55 load_test = json.loads(dump_test)56 print(load_test)57

58 #输出:59 #hongten60 #"hongten"61 #hongten62

63 而json转换为python类型的时候,调用的是json.loads()方法,按照如下规则转换的:64

65 json --> python66 object dict67 array list68 string str69 number(int) int70 number(real) float71 true True72 false False73 null None74

75 排序功能使得存储的数据更加有利于观察,也使得对json输出的对象进行比较:76 import json77 data1 = {'b':789,'c':456,'a':123}78 data2 = {'a':123,'b':789,'c':456}79 d1 = json.dumps(data1,sort_keys=True)80 d2 = json.dumps(data2)81 d3 = json.dumps(data2,sort_keys=True)82 print(d1)83 print(d2)84 print(d3)85 print(d1==d2)86 print(d1==d3)87

88 #输出:89 #{"a": 123, "b": 789, "c": 456}90 #{"a": 123, "c": 456, "b": 789}91 #{"a": 123, "b": 789, "c": 456}92 #False93 #True94

95 indent参数是缩进的意思:96 import json97 testA = {'name' : 'hongten',98 'age' : '20',99 'gender' : 'M'}100 test_dump = json.dumps(testA, sort_keys = True, indent = 4)101 print(test_dump)102

103 #输出:104 #{105 # "age": "20",106 # "gender": "M",107 # "name": "hongten"108 #}109

110

111 '''

112

113 print(__doc__)114 print('#' * 50)115 #使用json.dumps()方法对简单数据进行编码

116 obj = [['a', 'b', 'c'], 1, 3, 4, 'good', 'boy',(88, 42, 'hongten'), {'name' : 'hongten'}]117 encodedjson =json.dumps(obj)118 print(repr(obj))119 print(encodedjson)120

121 #[['a', 'b', 'c'], 1, 3, 4, 'good', 'boy', (88, 42, 'hongten'), {'name': 'hongten'}]

122 #[["a", "b", "c"], 1, 3, 4, "good", "boy", [88, 42, "hongten"], {"name": "hongten"}]

123

124

125 objA =[True, False, None]126 encodedjsonA =json.dumps(objA)127 print(repr(objA))128 print(encodedjsonA)129

130 #[True, False, None]

131 #[true, false, null]

132

133 #测试json转换为python类型

134 testB = 'hongten'

135 dump_test =json.dumps(testB)136 print(testB)137 print(dump_test)138 load_test =json.loads(dump_test)139 print(load_test)140

141 #输出:

142 #hongten

143 #"hongten"

144 #hongten

145

146

147 #排序测试

148 data1 = {'b':789,'c':456,'a':123}149 data2 = {'a':123,'b':789,'c':456}150 d1 = json.dumps(data1,sort_keys=True)151 d2 =json.dumps(data2)152 d3 = json.dumps(data2,sort_keys=True)153 print(d1)154 print(d2)155 print(d3)156 print(d1==d2)157 print(d1==d3)158

159 #输出:

160 #{"a": 123, "b": 789, "c": 456}

161 #{"a": 123, "c": 456, "b": 789}

162 #{"a": 123, "b": 789, "c": 456}

163 #False

164 #True

165

166 #测试缩进

167 testA = {'name' : 'hongten',168 'age' : '20',169 'gender' : 'M'}170 test_dump = json.dumps(testA, sort_keys = True, indent = 4)171 print(test_dump)172 #输出:

173 #{

174 #"age": "20",

175 #"gender": "M",

176 #"name": "hongten"

177 #}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值