python 入门 之 Json 序列化
开发网站,离不了Json
但是一般情况,不支持python的其它对象,怎么办?
有办法:Json 序列化!!!
总体来说,需要序列化的数据类型为 字典,类,嵌套类.
下面是我做的一个demo,都包含了:
import json
from flask import Flask
app=Flask(__name__)
class Info():
def __init__(self,state,time,user):
self.state=state
self.time=time
self.user=user
class Admin():
def __init__(self,state,time,user,year,country):
self.year=year
self.country=country
self.info=Info(state,time,user)
@app.route('/class_json/')
def on():
info=Info('class','2018-07-24-04-22','huhai')
info_to_dict=info.__dict__
info_to_json=json.dumps(obj=info_to_dict)
return info_to_json
@app.route('/complex-class_json/')
def on_():
admin=Admin('complex-class_json','2018-07-24-04-52','huhai','2018','china')
admin_to_json=json.dumps(admin,default=lambda obj:obj.__dict__,sort_keys=True,indent=4)
return admin_to_json
@app.route('/dict_json/')
def dict_to_json():
dict_obj={}
dict_obj['state']='dict data'
dict_obj['time']='2018-07-24-04-02'
dict_obj['user']='hu hai'
json_obj=json.dumps(dict_obj)
return json_obj
if __name__=='__main__':
app.run(debug=True)
python 入门 之 Json 序列化的更多相关文章
- Python 入门之 内置模块 -- 序列化模块(json模块、pickle模块)
Python 入门之 内置模块 -- 序列化模块(json模块.pickle模块) 1.序列化 Python中这种序列化模块有三种: json模块 : 不同语言都遵循的一种数据转化格式,即不同 ...
- Python学习之json序列化
一.什么是序列化 在我们存储数据或者网络传输数据的时候,需要对我们的对象进行处理,把对象处理成方便存储和传输的数据格式.这个过程叫序列化,不同的序列化结果也不同,但目的是一样的,都是为了存储和传输 在 ...
- python网络编程-Json序列化功能扩展-软件开发架构-OSI七层协议-TCP-01
面向对象补充知识点(面向对象的应用) 扩展json序列化所支持的数据类型(分析源码) import json from datetime import datetime, date # ------- ...
- python入门之json与pickle数据序列化
前提实例: 将一个字典存放在文件里 #存入数据info = { 'name':'chy', 'age':18 } f = open("test.txt","w" ...
- python模块之json序列化
31.序列化: 1.json实现序列化,json.dumps()和json.loads(). >>> s1 = {'k1':'v1','k2':'v2' ...
- python入门24 json模块
现在很多接口传参和响应都是json串. json.dumps() python对象转化为json字符串 json.loads() json字符串转化为python对象.[]转变成list,{}转变 ...
- Python常用标准库(pickle序列化和JSON序列化)
常用的标准库 序列化模块 import pickle 序列化和反序列化 把不能直接存储的数据变得可存储,这个过程叫做序列化.把文件中的数据拿出来,回复称原来的数据类型,这个过程叫做反序列化. 在文件中 ...
- python:用json把字典序列化到文件中
#写程序最好是dump一次和load一次,可以存好几个文件 import json info={'name':'Tom', 'age':'12', 'job':'work',} f=open('fil ...
- Python Json序列化与反序列化
在python中,序列化可以理解为:把python的对象编码转换为json格式的字符串,反序列化可以理解为:把json格式字符串解码为python数据对象.在python的标准库中,专门提供了json ...
随机推荐
- 使用MySql对IdentityServer4进行持久化
哈喽大家好,看见网上很少有使用MySql进行持久化的,毕竟又很多坑,说句实话,就连 MySql.Data.EntityFrameworkCore 都有问题,不知道是.net core更新太快还是其它的 ...
- javaScript 基础知识汇总(七)
1.数组 特点:数组是可以存储有序集合的对象. 声明: let arr = new Array(); let arr=[]; 大多数情况下我们使用第二种. let fruits = [" ...
- 【vue生命周期】- 详解
这篇文章通俗易懂,写的不错,本文转载至:https://www.cnblogs.com/happ0/p/8075562.html 详解Vue Lifecycle 先来看看vue官网对vue生命周期的介 ...
- 懂一点Python系列——快速入门
本文面相有 一定编程基础 的朋友学习,所以略过了 环境安装.IDE 搭建 等一系列简单繁琐的事情. 一.Python 简介 Python 英文原意为 "蟒蛇",直到 1989 年荷 ...
- F版本SpringCloud1—大白话为啥要有微服务?啥是微服务?SpringCloud为什么有那么多组件?
前言 为什么要有微服务呢? 什么是微服务? SpringCloud 中为什么会有那么多的组件? ...... 作为SpringCloud教程的第一篇,不讲解具体的技术使用,通过一个通俗易懂的小故事,来 ...
- XML的概述,.Dom4解析和SAX解析
1.什么是XML XML 指可扩展标记语言(EXtensible Markup Language) html(hyper text markup langauge) XML 是一种标记语言,很类似 H ...
- Nginx 轻松学 图文并茂 一学就会 附案例源码
导读 篇幅较长,干货满满,需花费较长时间,转载请注明出处!背景音乐若影响到您,网页选项卡右上角即可关闭~~! Nginx概述 简介 Nginx (engine x) 是一个高性能的HTTP和反向代理w ...
- 基础组合问题 ————从n个物品里选m个
package test; import java.util.*; public class Main{ public static int f(int n,int k, int goal){ if( ...
- python,keras,tensorflow安装问题 module 'tensorflow' has no attribute 'get_default_graph'
module ‘tensorflow’ has no attribute ‘get_default_graph’当我使用keras和tensorflow做深度学习的时候,python3.7报了这个错误 ...
- UTF-8 AND UTF-8 without BOM(遇到了这个问题 郁闷了会儿)
两者的区别: Unicode规范中有一个BOM的概念.BOM——Byte Order Mark,就是字节序标记.在这里找到一段关于BOM的说明: 在UCS 编码中有一个叫做"ZERO WID ...