zoukankan      html  css  js  c++  java
  • 数据存储

    数据存储
    
    处理JSON格式的数据
    
    JSON字符串与字典相互转换
    
    将字典转换为JSON字符串需要使用json模块的dumps函数。将JSON字符串转换为字典有下面两种方式
    
    (1)使用json模块的loads函数,该函数通过参数传入JSON字符串,然后返回与该JSON字符串对应的字典(推荐)
    
    (2)使用eval函数将字典转换为JSON字符串(不建议用这种方式)
    
    尽管eval函数与loads函数都可与将JSON字符串转换为字典,但建议使用loads函数进行转换,因为eval函数可以执行任何python代码,如果JSON字符串中包含了有害的pthon代码,
    
    执行JSON字符串可能会带来风险
    
    
    
    本例将名为data的字典转换为JSON字符串,并使用loads函数将JSON字符串转换为字典。最后从products.json文件中读取JSON字符串转换为字典
    
    
    cat >>/root/products.json<<EOF
    data={
        'name':'Bill',
        'company':'Microsoft',
        'age':'30'
    }
    EOF
    
    
    import json
    
    #定义一个字典
    data={
        'name':'Bill',
        'company':'Microsoft',
        'age':'30'
    }
    # 将字典转换为json字符串
    jsonStr=json.dumps(data)
    #输出jsonStr变量类型
    print(type(jsonStr))
    #输出json字符串
    print(jsonStr)
    
    #将json字符串转换为字典
    data=json.loads(jsonStr)
    #输出data变量类型
    print(type(data))
    #输出字典
    print(data)
    
    #打开products.json文件
    f=open('/root/products.json','r',encoding='utf-8')
    #读取products.json文件中的所有内容
    jsonStr=f.read()
    #使用loads函数将JSON字符串转换为字典
    json1=json.loads(jsonStr)
    #输出jjson1变量类型
    print(type(jsonStr))
    #输出json字符串
    print(jsonStr)
    
    
    
    E:pythonpython.exe E:/test_code/tes5.py
    <class 'str'>
    {"name": "Bill", "company": "Microsoft", "age": "30"}
    <class 'dict'>
    {'name': 'Bill', 'company': 'Microsoft', 'age': '30'}
    Traceback (most recent call last):
      File "E:/test_code/tes5.py", line 24, in <module>
        f=open('/root/products.json','r',encoding='utf-8')
    FileNotFoundError: [Errno 2] No such file or directory: '/root/products.json'
    
    
    没找到文件,连接linux操作实在太费劲了,不是这个错就是那个错,但是就是这样转换的
  • 相关阅读:
    IE浏览器下报错: strict 模式下不允许一个属性有多个定义
    Vue 做的项目在IE下面打开一片空白解决方法
    小程序如何动态修改标题navigationBarTitleText
    小程序-for循环遍历的使用
    vue项目-打印页面中指定区域的内容(亲测有效!)
    vue省市区三级联动(高仿京东)
    vue-父组件向子组件传值
    Sea.js 手册与文档
    angular之模块开发二
    angular之跨域
  • 原文地址:https://www.cnblogs.com/effortsing/p/10388598.html
Copyright © 2011-2022 走看看