1.  json数据格式:

data = [
{"key1":"xxx","item":"ddd"},
{"key2":"xxxxx","item":"sss"}
]

2. 将data写入文件中保存

datas = json.dumps(data,ensure_ascii=False,indent=4)  #ensure_ascii:使用中文保存,缩进为4个空格
    with open('/report/fake/mock.json','w+') as f: 
        f.write(datas)

3.读取json文件

    with open('/report/fake/mock.json','r') as f:
datas = json.load(f)
print datas

4.使用python的json模块序列化时间或者其他不支持的类型时会抛异常,需要对json做下扩展,让它可以支持datetime类型

class ComplexEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, datetime):
return obj.strftime('%Y-%m-%d %H:%M:%S')
elif isinstance(obj, date):
return obj.strftime('%Y-%m-%d')
else:
return json.JSONEncoder.default(self, obj)
调用json.dumps时需要指定cls参数为ComplexEncoder
json.dumps({'now':now}, cls=ComplexEncoder)

5.将字符串类型的列表(或字典)转成列表(或字典),需要转换成unicode,再转换成list(或dict)

            config_datas = data.get('Value', '')
# 此时config_datas是字符串类型的列表,需要转换成unicode,再转换成list
config_datas = config_datas.decode('unicode-escape')
config_datas = json.loads(config_datas)

json数据的存储与读取的更多相关文章

  1. 实现JSON数据的存储和读取

    事前准备: //创建一个Crime类 public class Crime { private String mTitle; private UUID mUUID; private Date mDat ...

  2. 在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。

    在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除. 作者:邵盛松 2009-09-05 前言 1关于的BLOB(Binary)数据的存储和读取功能主要参考了MSDN上的一篇& ...

  3. 使用 SharedPreferences 实现数据的存储和读取

    在开发的过程中我们必须遇到的就是如何对用户的数据进行有效的存储以及读取.我们举个例子,现在我们使用app,当我们登陆一个账号的时候选择记住密码软件就会记住我们的账号以及密码,我们退出当前账号,就可以直 ...

  4. Numpy用于数组数据的存储和读取

    Python的Numpy模块可用于存储和读取数据: 1.将一个数组存储为二进制文件 Numpy.save:将一个数组以.npy的格式保存为二进制文件 调用格式:numpy.save(file, arr ...

  5. json数据的key的读取和替换

    读取json的key: /** * @Description: 递归读取所有的key * @Param: * @return: * @throws Exception * @author: hw * ...

  6. 保存json数据到本地和读取本地json数据

    private void saveJson(JsonBean bean) { File file = new File(getFilesDir(), "json.txt"); Bu ...

  7. (第二章第四部分)TensorFlow框架之TFRecords数据的存储与读取

    系列博客链接: (第二章第一部分)TensorFlow框架之文件读取流程:https://www.cnblogs.com/kongweisi/p/11050302.html (第二章第二部分)Tens ...

  8. AsyncHttpClient来完成网页源代码的显示功能,json数据在服务器端的读取还有安卓上的读取

    一.使用AsyncHttpClient来完成网页源代码的显示功能: 首先.我们引入 步骤: 1.添加网络权限 2.判断网页地址是否为空 3.不为空的情况下创建客户端对象 4.处理get/post请求 ...

  9. php基础系列之 数据的存储和读取

    ·文件处理 ·写入一个文件 1,打开这个文件.如果这个文件不存在,需要先创建它 2,将数据写入这个文件 3,关闭这个文件 ·从一个文件读出数据 1,打开这个文件.如果这个文件不能打开(例如,文件不存在 ...

随机推荐

  1. vue生态圈

    本文来自网易云社区 作者:刘凌阳 前言 公司社区上关于Vue的文章挺少的(少的可怜),不禁为Vue愤愤不平,此文应运而生. 但笔者水平有限,也写不了什么特别高深的东西,只能简单介绍下Vue生态圈,如有 ...

  2. Mybatis-generator逆向工程

    $.Mybatis-generator介绍 MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器.它将为所有版本的MyBatis以及版本2.2.0之 ...

  3. 入门训练 Fibonacci数列 (水题)

    入门训练 Fibonacci数列   时间限制:1.0s   内存限制:256.0MB        问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n ...

  4. MongoSQL 复制数据表报错

    报错内容为: [thread1] SyntaxError: identifier starts immediately after numeric literal @(shell):1:2 解决方案: ...

  5. EOS 智能合约 plublic key 转换

      在做一个EOS 的action接口时,定义如下: void setbplist(const account_name bp_name, const uint64_t bp_time, const ...

  6. 学习markdown语法,易读易写,放2个教程地址

    http://wowubuntu.com/markdown/basic.html http://wowubuntu.com/markdown/basic.html

  7. Centos7服务器启动jar包项目最佳方式

    jar后台运行:nohup java -jar xx.jar >/dev/null & 此处的“>/dev/null”作用是将终端输出信息输出到空洞中,即不保存输出信息,若要查看输 ...

  8. springboot整合shading_jdbc实现读写分离

    之前是通过XML方式来配置数据源,读写分离策略,分库分表策略等,之前有朋友也问过我,有没有Spring Boot的方式来配置,既然已经用Spring Boot还用XML来配置感觉有点不协调. 其实吧我 ...

  9. 数据结构5.4_m元多项式的表示

    三元多项式表示如下: P(x,y,z) = x10y3z2 + 2x6y3z2 + 3x5y2z2 + x4y4z + 6x3y4z + 2yz + 15 然后对式子进行变形: P(x,y,z)=(( ...

  10. matlab中的linkage和cluster函数

    Linkage: Agglomerative hierarchical cluster tree(凝聚成层次聚类树) 语法: 解释: Z=linkage(x),返回Z,是一个X矩阵中行的分层聚类树(用 ...