JSON类型解析

一、序列化和反序列化

程序中的对象,如python中的字典、列表、函数、类等,都是存在内存中,不方便传递或存储,所以需要将内存中的对象转化为文本或者文件格式,来满足传输和持久化(存储)

序列化:内存对象-->文本

反序列化:文本-->内存对象

JSON对象(Python字典)-->转为文本格式-->发送文本格式的请求

->服务器收到请求-将文本格式转化为对象,获取其中的参数,处理业务

-->返回文本格式的响应-->客户端将文本格式转为对象格式,来获取响应的数据

二、Python字典格式和json格式的区别

Python字典格式和json格式的区别:

1、字典中的引号支持单引号和双引号,json格式只支持双引号

2、字典中的True/False首字母大写,json格式为true/false

3、字典中的空值为None,json格式为null

三、json格式的操作方法

1、文本的序列化

序列化(字典-->文本):json.dumps()

反序列化(文本-->字典):json.loads()

文本序列化例如:

#coding=utf-8
import json
obj = {"name": "你好", "password": "123456", "male": True, "money": None}
json_info=json.dumps(obj)
print(json_info)
json_info=json.dumps(obj,ensure_ascii=False) #ensure_ascii=False不确保ascii码,如果返回格式为utf-8,不转化为\u...
print(json_info)

结果:

{"money": null, "password": "123456", "male": true, "name": "\u4f60\u597d"}
{"money": null, "password": "123456", "male": true, "name": "你好"}

2、文件的序列化

序列化(字典-->文件句柄):json.dump()

反序列化(文件句柄-->字典):json.load()

文件序列化:

# coding=utf-8
import json
res_dict = {'name': '张三', 'password': '123456', "male": True, "money": None}
f = open("demo1.json","w")
json.dump(res_dict, f,ensure_ascii=False)

结果demo1.json内容为:

{"money": null, "password": "123456", "male": true, "name": "张三"}

文件反序列化:

# coding=utf-8
import json
f = open("demo2.json","r")
f_dict = json.load(f) # 反序列化将文件句柄转化为字典
print(f_dict ['name']) # 读取其中参数
f.close()

四、字典和json文本的使用

在组装数据时,一般使用字典格式,发送请求时用json.dumps()将字典转化为文本发送请求,收到请求后使用json.loads(res.text)转化为字典,获取参数信息

JSON类型解析的更多相关文章

  1. json进阶(一)js读取解析JSON类型数据

    js读取解析JSON类型数据 一.什么是JSON? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式,同 ...

  2. js读取解析JSON类型数据【申明:来源于网络】

    js读取解析JSON类型数据[申明:来源于网络] 地址:http://blog.csdn.net/sunhuaqiang1/article/details/47026841

  3. plist文件、NSUserDefault 对文件进行存储的类、json格式解析

    ========================== 文件操作 ========================== Δ一 .plist文件 .plist文件是一个属性字典数组的一个文件: .plis ...

  4. JSON数据解析 基础知识及链接收集

    JSON数据解析学习 JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 是存储和交换文本信息的语法.类似 XML.但是JSON 比 ...

  5. JSON数据解析(转)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android ...

  6. iOS - JSON 数据解析

     iOS - JSON 数据解析 前言 NS_CLASS_AVAILABLE(10_7, 5_0) @interface NSJSONSerialization : NSObject @availab ...

  7. Android系列---JSON数据解析

    您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...

  8. SpringMVC——对Ajax的处理(包含 JSON 类型)

    一.首先要搞明白的一些事情. 1.从客户端来看,需要搞明白: (1)要发送什么样格式的 JSON 数据才能被服务器端的 SpringMVC 很便捷的处理,怎么才能让我们写更少的代码,如何做好 JSON ...

  9. JSON数据解析(转)

    上篇随笔详细介绍了三种解析服务器端传过来的xml数据格式,而对于服务器端来说,返回给客户端的数据格式一般分为html.xml和json这三种格式,那么本篇随笔将讲解一下json这个知识点,包括如何通过 ...

随机推荐

  1. yum 常用命令使用

    1.向服务器上传文件或者下载文件 我们知道我们经常需要向服务器上传文件,或者从服务器下载文件,rz和sz命令可以满足我们的要求, 只不过默认情况下是不能使用的.我们需要使用yum install lr ...

  2. K尾相等数(模运算)

    Description 从键盘输入一个自然数K(K>1),若存在自然数M和N(M>N),使得K^M^和K^N^均大于或等于1000,且他们的末尾三位数相等,则称M和N是一对"K尾 ...

  3. 渗透测试神器Cobalt Strike使用教程

    Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器.Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队 ...

  4. 数据丢失如何恢复?EasyRecovery帮你快速实现

    在日常使用电脑时,我们经常会遇到误删文件的情况,若文件还未被彻底删除,我们还可以通过电脑中的回收站将其恢复,但若是回收站都被清空的话,想要恢复文件就变得比较困难了,而EasyRecovery可以很好的 ...

  5. python批量生成SQL语句

    1,首先写一条能运行成功插入SQL的语句 INSERT INTO sign_guest(realname,phone,email,sign,event_id)VALUES("jack&quo ...

  6. 完全图的最短Hamilton路径——状压dp

    题意:给出一张含有n(n<20)个点的完全图,求从0号节点到第n-1号节点的最短Hamilton路径.Hamilton路径是指不重不漏地经过每一个点的路径. 算法进阶上的一道状压例题,复杂度为O ...

  7. Java-Netty前菜-NIO

    NIO NIO主要有三个核心部分组成: buffer缓冲区 Channel管道 Selector选择器 在NIO中并不是以流的方式来处理数据的,而是以buffer缓冲区和Channel管道配合使用来处 ...

  8. Java蓝桥杯练习——杨辉三角形

    问题描述: 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数. 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加. 下面给出了杨辉三角形的前4行: 1 1 1 ...

  9. Java基础教程——Stream

    Stream流 Java 8 API添加了一种新的机制--Stream(流).Stream和IO流不是一回事. 流式思想:像生产流水线一样,一个操作接一个操作. 使用Stream流的步骤:数据源→转换 ...

  10. sqli-labs-master less06

    第六关与第五关步骤无区别,请参考 sqli-labs-master less05 及 Burp Suite暴力破解示例 区别:在第二步判断注入类型时发现 加单引号与不加单引号没有区别,加双引号时报错, ...