码迷,mamicode.com
首页 > 其他好文 > 详细

数据存储

时间:2019-02-16 18:17:59      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:under   参数   定义   tor   linux   product   代码   print   rod   

数据存储

处理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:\python\python.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操作实在太费劲了,不是这个错就是那个错,但是就是这样转换的

 

数据存储

标签:under   参数   定义   tor   linux   product   代码   print   rod   

原文地址:https://www.cnblogs.com/effortsing/p/10388598.html

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