码迷,mamicode.com
首页 > Web开发 > 详细

10:处理 json

时间:2018-09-23 22:18:23      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:需要   www.   方法   value   content   12px   utf-8   imp   info   

json 通用的数据类型, 所有的语言都认识。json 是字符串。key-value 必须使用双引号
1. loads() 和 dumps() 的使用
  • json.loads() 将 json 字符串转换成字典。
  • json.dumps() 将字典转换成 json 字符串。
 1 s = ‘‘‘{
 2     "error_code":0,
 3     "stu_info":[
 4         {
 5             "id":100,
 6             "name":"小明"
 7         },
 8         {
 9             "id":202,
10             "name":"小黑"
11         }
12         ]
13 }
14 ‘‘‘
15 # json格式校验网址 www.bejson,com
16 import json
17 res = json.loads(s) # json 字符串转成字典
18 print(res)
19 print(type(res))
20 
21 stus = {test1:123, test2:456, 中文:中文test}
22 res2 = json.dumps(stus, ensure_ascii=False) # 字典转成 json. 如果有中文,设置ensure_ascii=False
23 print(res2)
24 print(type(res2))
25 res3 = json.dumps(stus, indent=4) # indent 设置缩进
26 print(res3)
1 # 输出结果:
2 {error_code: 0, stu_info: [{id: 100, name: 小明}, {id: 202, name: 小黑}]}
3 <class dict>
4 {"test1": "123", "test2": "456"}
5 <class str>

 

在处理 MD5 加密的时候经常需要使用 json.dumps() 方法将字典转换成 json 字符串。上面的运行结果可以看到转换成 json 时冒号后面有个空格,这会导致加密结果不一致。所以在转换的时候需要加个参数 separators=(‘,‘,‘:‘),代码如下:

1 res2 = json.dumps(stus, separators=(,,:),ensure_ascii=False) # 字典转成 json. 如果有中文,设置ensure_ascii=False
2 print(res2)
3 
4 #输出结果:
5 {"test1":"123","test2":"456","中文":"中文test"}

2. json.loads() 、json.load() 的区别

 1 # load 和 loads 的区别:
 2 # loads 传的是个字符串
 3 f = open(stus.json, encoding=utf-8)
 4 content = f.read()
 5 user_dic = json.loads(content)
 6 print(user_dic)
 7 
 8 # load  传的是个文件对象
 9 f = open(stus.json, encoding=utf-8)
10 user_dic = json.load(f)
11 print(user_dic)

3. json.dumps()、json.dump() 的区别

1 # dump 和 dumps 的区别:
2 # 如果要把字典写进文件里,那么使用 dump
3 f = open(stus2.json, encoding=utf-8)
4 json.dump(stus, f, ensure_ascii=False) # 直接把 stus 写进了 stus2.json 文件里

 

10:处理 json

标签:需要   www.   方法   value   content   12px   utf-8   imp   info   

原文地址:https://www.cnblogs.com/mayytest1202/p/9693730.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!