zoukankan      html  css  js  c++  java
  • python中json操作

    1、写操作.json文件dumps()、dump()函数

     1 d = {
     2     'zll': {
     3         'addr': '北京',
     4         'age': 28
     5     },
     6     'ljj': {
     7         'addr': '北京',
     8         'age': 38
     9     }
    10 }
    1 fw = open('user_info.json', 'w', encoding='utf-8')
    2 # ensure_ascii:默认值True,如果dict内含有non-ASCII的字符,则会类似uXXXX的显示数据,设置成False后,就能正常显示
    3 # dic_json = json.dumps(d,ensure_ascii=False,indent=4)  #字典转成json格式,字典转成字符串
    4 dic_json = json.dumps(d, ensure_ascii=True, indent=4)  # 字典转成json格式,字典转成字符串
    5 fw.write(dic_json)
    6 fw.close()
    结果
     1 {
     2     "zll": {
     3         "addr": "u5317u4eac",
     4         "age": 28
     5     },
     6     "ljj": {
     7         "addr": "u5317u4eac",
     8         "age": 38
     9     }
    10 }

     1 fw = open('user_info.json', 'w', encoding='utf-8')
     2 # ensure_ascii:默认值True,如果dict内含有non-ASCII的字符,则会类似uXXXX的显示数据,设置成False后,就能正常显示
     3 dic_json = json.dumps(d,ensure_ascii=False,indent=4)  #字典转成json,字典转成字符串
     5 fw.write(dic_json)
     6 fw.close()

    7 结果
    {  9 "zll": { 10 "addr": "北京", 11 "age": 28 12  }, 13 "ljj": { 14 "addr": "北京", 15 "age": 38 16  } 17 }

    dump() 操作json文件 写的操作

     1 fw = open('user_info.json', 'w', encoding='utf-8')
     2 json.dump(d,fw,ensure_ascii=False,indent=4)  #操作文件
     3 fw.close()
     4 
     5 结果
     6 {
     7     "zll": {
     8         "addr": "北京",
     9         "age": 28
    10     },
    11     "ljj": {
    12         "addr": "北京",
    13         "age": 38
    14     }
    15 }

    2、读操作load()、loads()

     1 # json串是一个字符串
     2 f = open('product.json',encoding='utf-8')
     3 res = f.read()
     4 product_dic = json.loads(res)  #把json串,变成python的数据类型,只能转换json串内容
     5 print(product_dic)
     6 print(product_dic['iphone'])
     7 # t = json.load(f)
     8 # print(t) #传一个文件对象,它会帮你直接读json文件,并转换成python数据
     9 # print(t['iphone'])
    10 f.close()
    11 
    12 结果
    13 {'iphone': {'color': 'red', 'num': 1, 'price': 98.5}, 'wather': {'num': 100, 'price': 1, 'color': 'white'}}
    14 {'color': 'red', 'num': 1, 'price': 98.5}
     1 # 文件读写
     2 def op_file(file, dict_temp=None):
     3     if dict_temp:
     4         with open(file, 'w', encoding='utf-8') as fw:
     5             json.dump(dict_temp, fw, ensure_ascii=False, indent=4)
     6         return 1
     7     else:
     8         with open(file, 'r', encoding='utf-8') as fr:
     9             dict_temp = json.load(fr)
    10         return dict_temp
  • 相关阅读:
    在cnBlogs上使用MarsEdit发blog
    如何将netbeans生成的项目文件打包发布到其他的Tomcat服务器上?
    Android activity中单击返回键或home键彻底退出应用
    C语言基础之自增自减运算符及注意事项
    [给自己扫盲]名词解释——LAMP、MEAN、Web应用框架等
    第一个Mac程序——倒计时v1&v2
    iOS开发 Swift开发数独游戏(二)数独题目的生成
    解决ADT大量出现"Unexpected value from nativeGetEnabledTags: 0"的问题
    C语言基础之指针
    [给自己扫盲]Node.js 究竟是什么?
  • 原文地址:https://www.cnblogs.com/xinjing-jingxin/p/8857070.html
Copyright © 2011-2022 走看看