技术标签: python 前端 json html 开发语言
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
JSON在python中分别由list和dict组成。
这是用于序列化的两个模块:
json.dumps()把数据类型转换成字符串
json.dump()把数据类型转换成字符串并存储在文件中
json.loads()把字符串转换成数据类型
json.load()把文件打开从字符串转换成数据类型
json是可以在不同语言之间交换数据的,而pickle只在python之间使用。
json只能序列化最基本的数据类型,josn只能把常用的数据类型序列化(列表、字典、列表、字符串、数字、),比如日期格式、类对象!josn就不行了。而pickle可以序列化所有的数据类型,包括类,函数都可以序列化。
将python中的字典数据编码为 JSON字符串 字符串
1 import json
2
3 test_dict = {'one':1, 'two':{2.1:['a', 'b']}
4 print(test_dict)
5 print(type(test_dict))
6 #dumps 将数据转换成字符串
7 json_str = json.dumps(test_dict)
8 print(json_str)
9 print(type(json_str))
输出:
{'one':1, 'two':{2.1:['a', 'b']}
<class 'dict'>
{"one":1, "two":{2.1:["a", "b"]}
<class 'str'>
用于解析JSON数据,返回python中的的字典数据类型
10 new_dict = json.loads(json_str)
11 print(new_dict)
12 print(type(new_dict))
输出:
{'one':1, 'two':{2.1:['a', 'b']}
<class 'dict'>
:将python dict数据写入json文件中
1 with open("../config/record.json","w") as f:
2 json.dump(new_dict,f)
3 print("加载入文件完成...")
json文件内容:
1 {"one":1, "two":{2.1:["a", "b"]}
把文件打开,并把JSON字符串变换为python dict数据类型
1 with open("../config/record.json",'r') as load_f:
2 load_dict = json.load(load_f)
3 print(load_dict)
4 print(type(load_dict))
输出:
{'one':1, 'two':{2.1:['a', 'b']}
<class 'dict'>
两种方法均可以实现:
1、将python字典数据用dumps()方法编码成JSON字符串,然后再写入json文件中
with open("../config/format_json.json", 'w') as write_f:
write_f.write(json.dumps(load_dict, indent=4, ensure_ascii=False))
2、直接用dump()方法将python字典数据写入json文件中
with open("../config/format_json.json", 'w') as write_f:
json.dump(load_dict, write_f, indent=4, ensure_ascii=False)
格式化写入json后,文件内容:
{
'one': 1,
'two': {
2.1: [
'a',
'b'
]
}
}
文章浏览阅读175次。Redis 主从复制+哨兵+集群一.主从复制-哨兵-集群二.主从复制1.主从复制的作用2.主从复制流程3.部署Redis 主从复制三.哨兵模式1.哨兵模式的原理2.哨兵模式的作用3.哨兵结构由两部分组成,哨兵节点和数据节点部署哨兵模式四.集群模式1.集群的作用,可以归纳为两点2.Redis集群的数据分片3.以3个节点组成的集群为例4.Redis集群的主从复制模型5.Redis集群部署一.主从复制-哨兵-集群1.主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复_windows redis 主从复制部署
文章浏览阅读1.3w次,点赞181次,收藏596次。HashMap的原理与实现版本之更迭:–》JDK 1.7 : Table数组+ Entry链表;–》JDK1.8 : Table数组+ Entry链表/红黑树;(为什么要使用红黑树?)一问HashMap的实现原理你看过HashMap源码吗,知道底层的原理吗为什么使用数组+链表用LinkedList代替数组可以吗既然是可以的,为什么不用反而用数组。重要变量介绍:..._hashmap原理详解,看不懂算我输(附面试题)
文章浏览阅读959次。干货:问题:在a.com上上传图片至b.comhtml(a.com)<div class="box_03"> <iframe style="width:100%;height:100%;" frameborder="0" scrolling="no" src="/picupload/ming?imgurl=&shuiyin=&uploadUr..._php 上传图片流跨域怎么做
文章浏览阅读1.2w次,点赞4次,收藏2次。实验拓扑:实验说明:1.把SW3模拟成三台PC,配置三个VLAN对应的SVI地址。2.HSRP:SW1做vlan 10的活动设备,SW2做vlan 20的备份设备;SW1做vlan 10的备份设备,SW2做vlan 20的活动设备;3.VRRP:SW1做vlan 30的Master,SW2做vlan 30的备份设备。4.down掉环回口,检查数据包的路径。实..._hsrp 可以在svi口配置么
文章浏览阅读8k次。今天编译kafka-0.8.2.1-src源代码,发现一个问题。编译始终报错,错误如下:lizhitao@users-MacBook-Pro-2:~/mt_wp/open_source/kafka-platform/kafka-0.8.2.1-src$ gradle jar_core_2_10_4 --stacktraceTo honour the JVM settings for this bu_to honour the jvm settings for this build a new jvm will be forked. please c
文章浏览阅读600次。微信支付流程都是我自己工作中开发的,亲测可用,不喜勿喷。controller中我是这么写的,你们需要根据自己的业务需求改动。ResponseBean是我自己封装的,你们可以改成你们想要的形式。/*** 微信统一下单接口* @return*/@RequestMapping(value = "/doUnifiedOrder", method = RequestMethod.POST)public Re..._java+微信支付 dounifiedrefund
文章浏览阅读140次。I'm having a strange time dealing with selecting from a table with about 30,000 rows.It seems my script is using an outrageous amount of memory for what is a simple, forward only walk over a query res..._pdo_mysql.cache_size
文章浏览阅读1.0k次。最近在使用layui的过程中,遇到了表格合并单元格,设置不同底色的问https://www.hixiaoe.com/题。在此总结,大家一起学习。效果如下:同一组新闻的底色相同实现代码:<script> layui.config({ base: '/static/' //静态资源所在路径 }).extend({ index: 'admin/lib/index' //主入口模块 .._layui tablemerge 合并背景
文章浏览阅读3.8k次,点赞10次,收藏18次。Kali Linux系统作为白帽、黑帽最受欢迎的渗透测试系统,你如果是一个安全渗透专家或者网络安全管理员,必须要学会慎重并且合理地利用这个系统,因为对目标系统造成的实质伤害会带来法律的约束以及制裁!1、Kali Linux下载官网下载镜像:下载链接:https://www.kali.org2、安装配置我这里使用的虚拟机软件是 VMware 15,名字随便看需要,也可按默认配置建议选4G,也可以选2G内存默认,下一步默认,下一步默认,下一步默认,下一步这里建议将磁_kali2020.3安装
文章浏览阅读131次。应用场景:例如秒杀。瞬时大量写入订单到数据库,导致数据库无法及时响应。此时可以采用Redis做消息队列,把所有需要写入的数据先写入Redis消息队列中,然后同时在服务器开启php-cli进程循环读取队列中的数据,异步写入数据库。使用redis做消息队列可能会出现消息丢失的情况,因为没有消息接收的确认机制。大型程序,应该使用类似RabitMQ来做专业消息队列。1、使用publish/subscrib..._mysql 做队列好还是redis做队列
文章浏览阅读1.3k次。本文转自:https://www.cnblogs.com/wcwnina/p/8029156.htmlApache简介 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将..._no such command: nginx. please use /usr/bin/yum --help
文章浏览阅读560次。xShell:最常用的软件!远程操作linux,打开命令行终端!终端模拟软件。export LANG=“zh_CN.UTF-8” #中文export LANG=“en_US.UTF-8” #英文查看linux的ip地址:ifconfig;Linux无法使用ifconfig命令查看ip地址是因为没有安装net-tool所以执行下面的语句进行安装。_linux 粘贴之后 只做提示