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. linux修改网卡的mac地址

    linux在安装一些软件的时候可能会用到修改主机的mac地址的问题,在网卡配置文件 /etc/network/interface 中添加mac地址的方式我在修改重启机器后没有生效,所以采用其他方式 在 ...

  2. Qt For MacOs环境搭建

    使用VMWARE关于macos镜像搭建,参考https://blog.csdn.net/u011415782/article/details/78505422 关于darwin8.5.5 来安装vmt ...

  3. YARN-MapReduce的作业提交流程

    YARN分布式资源管理系统 组成: ResourceManager:YARN的资源管理器,主节点,通过NodeManager管理集群中所有的资源 NodeManager:YARN的节点管理器,从节点, ...

  4. 仅一年工作经验成功跳槽字节跳动,腾讯并拿到字节的offer,全靠这份面经!

    前言 前几天由于工作的原因一直没怎么看私信,昨天在整理私信的时候看到了一个粉丝给我疯狂私信想要我帮忙整理一份大厂面经,说自己工作也有几年了想跳槽冲刺一下,但是不知道该怎么做好前期准备.我看到这个粉丝也 ...

  5. ABBYY FineReader 15 PDF文档查看功能

    PDF文档查看功能是ABBYY FineReader 15(Windows系统)OCR文字识别软件中PDF编辑器的一项基础功能,可供用户查看,搜索PDF文档,无需进入编辑模式,也可复制其中的文本,图片 ...

  6. Boom 3D快捷方式,让3D音效应用更便捷

    快捷方式是一种快速启动程序.打开程序功能的方法,巧妙地利用快捷键,可以大大加快我们使用Boom 3D的速度,可以让我们更好地享受3D音效. 接下来,就让小编演示一下怎么在不打开Boom 3D的情况下使 ...

  7. 使用celery异步发送短信

    目录 1.使用celery异步发送短信 1.1在celery_task/mian.py中添加发送短信函数 1.2在verifcations/views.py中添加celery发送短信视图函数 1.3 ...

  8. Python JSON存储数据

    前言: 很多程序都要求用户输入某种信息,如让用户存储游戏首选项或提供要可视化的数据.不管专注的是什么,程序都把用户提供的信息存储在列表和字典等数据结构中.用户关闭 程序时,你几乎总是要保存他们提供的信 ...

  9. Matlab 条件循环函数

    条件判断 if 表达式 语句 elseif 表达式 语句 -. else 语句 end 这个与c语言不同的就是 1:要多一个end 2:还有没有括号 3:else if连在一起 for 循环 for ...

  10. mq中nio

    MappedFile#appendMessagesInner