python—json

 一、json数据类型:是字符串

    # json通用数据类型,所有语言都可以用
  # {k-v}形式存在,里面只能用双引号""
  # 定义
json字符串,要用'''{}'''格式
  #http://www.bejson.com/可以校验json格式对不对
  #json串里面是双引号字典里面是单引号
 1 '''{
 2         "error_code": 0,
 3         "stu_info": [
 4                 {
 5                         "id": 1660,
 6                         "name": "小绿",
 7                         "sex": "男",
 8                         "age": 28,
 9                         "addr": "河南省济源市北海大道32号",
10                         "grade": "天秤座",
11                         "phone": "18612585956",
12                         "gold": 100
13                 },
14                 {
15                         "id": 2159,
16                         "name": "小绿",
17                         "sex": "男",
18                         "age": 28,
19                         "addr": "河南省济源市北海大道32号",
20                         "grade": "天蝎座",
21                         "phone": "18611115556",
22                         "gold": 100
23                 },
24                 {
25                         "id": 2204,
26                         "name": "小绿",
27                         "sex": "女",
28                         "age": 28,
29                         "addr": "河南省济源市北海大道12号",
30                         "grade": "天蝎座",
31                         "phone": "18612832956",
32                         "gold": 100
33                 },
34                 {
35                         "id": 5344,
36                         "name": "小绿",
37                         "sex": "男",
38                         "age": 21,
39                         "addr": "河南省济源市北海大道2号",
40                         "grade": "天平座",
41                         "phone": "18612500886",
42                         "gold": 100
43                 }
44         ]
45 }'''
View Code

  基本使用

1 import json                 #导入模块
2 res=json.loads(s)           #loads(),json(字符串),转成字典
3 print(res.keys())           #调用字典方法
4 print(res.values())         #调用字典方法
5 print(res)
6 print(type(res))

   1. json序列化(字典转成字符串)方法:

          dumps:无文件操作              dump:序列化+写入文件

 import json #导入模块
1
# dumps 2 stus={'xiaohong':'123','xiaohei':'456','xiaobai':'789'} 3 res1=json.dumps(stus,indent=4,ensure_ascii=False) # dumps,字典,转换成json字符串 4 with open('stus.json','w',encoding='utf-8') as f: 5 f.write(json.dumps(stus,indent=4,ensure_ascii=False)) #手动写入字典,为json字符串 #要手动写入文件 6 7 # dump 8 stus={'xiaohong':'123','xiaohei':'456','xiaobai':'789'} 9 f=open('stus1.json','w',encoding='utf-8') 10 json.dump(stus,f,indent=4,ensure_ascii=False) #自动传入字典,转换成json字符串

    2. json反序列化(字符串转成字典)方法:

          loads:无文件操作          load: 读文件+反序列化

  import json #导入模块
1
# 读取文件 2 # load(操作文件方便) 3 with open('stus.json',encoding='utf-8') as f: 4 user_dic=json.load(f) #读取的是文件对象,转换成字典 5 print(user_dic) 6 7 # loads(只要不是操作文件都用它) 8 f = open('stus.json',encoding='utf-8').read() #.read()读取的是字符串,转换成字典 9 user_dic=json.loads(f) 10 print(user_dic)

 

原文地址:https://www.cnblogs.com/cwl-bj/p/10687024.html