json模块

JSON(Java Script Object Notation):一种轻量级数据交互格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的一个子集。python的json模块序列化与反序列化的过程分别是encoding和decoding。

  • encoding:把一个python对象编码转换成Json字符串。
  • decoding:把json格式字符串编码转换成python对象。

  json提供四个功能:json.loads  json.dumps    json.load    json.dump。loads跟dumps是用来处理字符串的,load跟dump是用来处理文件的。

  • loads:把json转换成其他格式,字符串或文件相关的
  • dumps:把其他对象或格式转换为json格式
  • load:将文件的内容转换成为json数据
  • dump:把json数据写入到文件中
    # dic='{"name":"alex"}'
    # f=open('hello','w')
    # f.write(dic)
    
    # f_read=open('hello','r')
    # data=f_read.read()
    # data=eval(data)
    # print(data['name'])
    
    #dumps方法
    '''
    import json
    dic={"name":"alex"}
    #dic=[11,22]
    #使用json时会把单引号变成双引号
    #把其他对象或者格式转为json格式(包括其他数据类型)
    data=json.dumps(dic)
    f=open('new_name','w')
    #把字符串写入文件中
    f.write(data)
    
    #dump方法 不怎么会用
    import json
    dic={"name":"alex"}
    f=open('new_name','r')
    json.dump(dic,f)
    '''
    
    
    
    
    import json
    #读取文件
    f_read=open('new_name','r')
    
    data = json.loads(f_read.read()) # 相当于 data=json.load(f_read)
    
    print(type(data))
    print(data)

     

    #注意只要满足条件就可以用
    import json
    with open("new_name","r")as f:
        data=f.read()
        data=json.loads(data)
        print(data["name"])

     

posted @ 2018-11-13 10:54  汉魂县令  阅读(60)  评论(0编辑  收藏  举报