一、json的特点

1、只能处理简单的可序列化的对象;(字典,列表,元祖)
2、json支持不同语言之间的数据交互;(python  -  go,python - java)
 
二、使用场景
1、玩游戏的时候存档和读取记录。
2、虚拟机挂起、保存或者恢复、读档的时候。
 
 
三、语法:
1、简单的数据类型:
 1、在内存中进行转换:
import json
#py基本数据类型转换字符串:
r = json.dumps([11,22,33])
#li = '["alex","eric"]'
li = "['alex','eric']"
re = json.loads(li)   #反序列化的时候,一定要使用双引号""。
print(re,type(re)) 2、在文件中转换:(在dumps和loads基础上增加了个写读文件)
import json 文件格式的序列化:
li = [11,22,33]
json.dump(li,open('db','w')) 文件格式的反序列化:
li = json.load(open('db','r'))
print(li,type(li))

2、复杂的数据类型:

序列化:

 #!/usr/bin/env python
# -*- coding:utf8 -*-
# Author:Dong Ye import json test = r'test.txt' info  = {
    'name' : 'alex',
    'age' : 32 } with open(test,'w',encoding='utf-8') as f:
    f.write( json.dumps(info) )

反序列化:

 #!/usr/bin/env python
# -*- coding:utf8 -*-
# Author:Dong Ye import  json test = r'test.txt' with open(test,'r',encoding='utf-8') as f:
    data = json.loads( f.read() )
    print(data)
    print(data['name'])
    print(data['age'])

使用场景

调用其他平台的接口时,一般都会返回一个字符串,eg:“字典,列表,url路径等”。
 import requests
import json response = requests.get("http://http://wthrcdn.etouch.cn/weather_mini?ciyp=北京")
response.encoding = 'utf-8' dic = json.loads(requests.text)
print(response,type(response))

模块讲解----json模块(跨平台的序列化与反序列化)的更多相关文章

  1. Python 入门之 内置模块 -- 序列化模块(json模块、pickle模块)

    Python 入门之 内置模块 -- 序列化模块(json模块.pickle模块) 1.序列化 Python中这种序列化模块有三种: ​ json模块 : ​ 不同语言都遵循的一种数据转化格式,即不同 ...

  2. os模块、sys模块、json模块、pickle模块、logging模块

    目录 os模块 sys模块 json模块 pickle模块 logging模块 os模块 功能:与操作系统交互,可以操作文件 一.对文件操作 判断是否为文件 os.path.isfile(r'路径') ...

  3. Python之路(第十五篇)sys模块、json模块、pickle模块、shelve模块

    一.sys模块 1.sys.argv 命令行参数List,第一个元素是程序本身路径 2.sys.exit(n) 退出程序,正常退出时exit(0) 3.sys.version . sys.maxint ...

  4. DynamicObject扩展--实现JSON和DynamicObject的序列化与反序列化

    度娘许久,找不到我满意的答案,于是自己东凑西凑实现一个. DynamicObject扩展--实现JSON和DynamicObject的序列化与反序列化,亲测良好. 看代码 using System; ...

  5. 模块讲解---os模块,sys模块,json和pickle模块,logging模块

    目录 模块的用法 os模块 常用的功能 sys模块 常用的功能 json和pickle模块 4. logging模块 模块的用法 通过 import 或者from......import...... ...

  6. 模块讲解----pickle模块(只在python用的序列化与反序列化)

    特点 1.只能在python中使用,只支持python的基本数据类型. 2.可以处理复杂的序列化语法.(例如自定义的类的方法,游戏的存档等) 3.序列化的时候,只是序列化了整个序列对象,而不是内存地址 ...

  7. python tickle模块与json模块

    #! /usr/bin/env python# -*- coding:utf-8 -*-#JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式 ...

  8. os模块,sys模块,json模块,subprocess模块

    os模块 一·什么是os模块 os模块提供了多数操作系统的功能接口函数.当os模块被导入后,它会自适应于不同的操作系统平台,根据不同 的平台进行相应的操作,在python编程时,经常和文件.目录打交道 ...

  9. 时间模块之datatime模块、os模块、sys模块、json模块、json模块实操

    目录 一.模块的绝对导入和相对导入 二.包的概念 三.编程思想的转变 四.软件开发目录规范 五.常见的内置模块 一.时间模块之datatime模块 1.datetime.datetime.today( ...

随机推荐

  1. 实践jQuery Easyui后本地化有感

    这个星期在忙着easyui的例子中的大部分功能的本地化.一开始给我的感觉就是把jquery easyui中的每个demo的代码粘贴复制一遍. 可是,真正在做的过程中,我才发现,我错了. 在仿写easy ...

  2. 关于VS2013编辑器的问题

    如果输出报错 This function or variable may be unsafe. 解决方法 1.用VS2013打开出现错误的代码文件 2.在工程文件名处右击鼠标打开快捷菜单,找到“属性” ...

  3. SQL之Join的使用

    一.基本概念 关于sql语句中的连接(join)关键字,是较为常用而又不太容易理解的关键字,下面这个例子给出了一个简单的解释 –建表user1,user2: table1 : create table ...

  4. java 多线程 3 synchronized 同步

    多任务编程的难点在于多任务共享资源.对于同一个进程空间中的多个线程来说,它们都共享堆中的对象.某个线程对对象的操作,将影响到其它的线程. 在多线程编程中,要尽力避免竞争条件(racing condit ...

  5. 【BZOJ】3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛(排列组合+乘法逆元+欧拉定理/费马小定理)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3398 以下牡牛为a,牝牛为b. 学完排列计数后试着来写这题,“至少”一词可以给我们提示,我们可以枚举 ...

  6. cx_Freeze的生成可执行文件

    ①.生成setup.py文件,仿照cx_Freeze给的例子 ②.python setup.py build 生成单个的可执行,会自动带着需要的动态链接库的.默认路径:build\bdist.win3 ...

  7. 部署mysql后,无法设置用户远程登陆(%只所有用户,不可以,只能给指定的ip?)

    MySQL允许远程访问的设置 1.注释bind-address = 127.0.0.1. 代码如下: >sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 将 ...

  8. Raw-OS源代码分析之idle任务

    分析的内核版本号截止到2014-04-15,基于1.05正式版,blogs会及时跟进最新版本号的内核开发进度,若源代码凝视出现"???"字样.则是未深究理解部分. Raw-OS官方 ...

  9. -pie can only be used when targeting iOS 4.2 or later

    网上下载的demo,执行报错-pie can only be used when targeting iOS 4.2 or later 解决的方法:选择target==>改动developmen ...

  10. ItcastOA_设计BaseDao_设计DAO接口和实现类_写DAO实现类中的方法内容

    3. 基础功能 3.1. 设计BaseDao接口与BaseDaoImpl类 每个实体都应有一个对应的Dao,他封装了对这个实体的数据库操作.例 实体Dao接口实现类 ================= ...