当前位置: 首页 > news >正文

做网站是不是也是暴利网站的营销推广方案

做网站是不是也是暴利,网站的营销推广方案,淘宝客怎么自建网站做推广,网站规划内容方案在 Python3版本中使用 JSON 本教程将会教我们如何使用 Python 编程语言编码和解码 JSON。 环境 在python3中(以及python2.6版本后的python2版本)内置了JSON模块,无需额外安装另外的JSON模块。 简介 JSON模块是python内置的用来进行pytho…

在 Python3版本中使用 JSON

本教程将会教我们如何使用 Python 编程语言编码和解码 JSON。

环境

在python3中(以及python2.6版本后的python2版本)内置了JSON模块,无需额外安装另外的JSON模块。

简介

JSON模块是python内置的用来进行python对象序列化和反序列化的模块。

序列化,指将python对象转换为json格式的数据流,反序列化则是将json格式的数据流转换为python对象。

该模块中常用的方法有以下四个:

  • ​json.dump​  将Python对象序列化为Json格式的数据流并写入文件类型的对象中
  • ​json.dumps​  将Python对象序列化为Json格式的字符串
  • ​json.load​  从文件类型的对象中读取Json格式的数据并反序列化成Python对象
  • ​json.loads ​ 将包含Json格式数据的字符串反序列化成Python对象
两个dump函数是将python对象转换为json,可以理解为编码(类似demjson的encode函数),两个load函数是将json转换为python对象,可以理解为JSON解析(类似demjson的code函数)。因为两个dump和两个load的功能相似,所以小编只介绍其中一个(介绍JSON格式数据的字符串的编码与解析,也就是dumps和loads函数)。

json.dumps()

dumps可以传递的参数如下:

json.dumps(obj,  skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False)

在日常使用中,更多的情况我们只传递必须的obj参数(这是一个对象),其他参数为可选参数,下表是该函数的所有参数的作用:

 参数 作用
 ​obj​(必选项) 要序列化的python对象
 skipkeys=False 是否跳过要序列化的对象中字典元素的key不是基本类型的数据;
如果为 True,则跳过,如果为 False,将抛出 TypeError异常。
 ​ensure_ascii=True 是否将要序列化的对象中的字符串中的非ascii字符进行转义。

如果该参数为True,则将字符串中的非ascii字符转义成unicode字符串,否则,将不会进行转义。

 ​check_circular=True 是否进行容器类型的循环引用检查。

如果该参数设置为False,则不进行检查,但是可能会引发 OverflowError或更严重的情况。

如果该参数设置为True,则将进行容器类型的循环引用检查,并在发现循环引用时抛出异常。

 ​allow_nan=True 是否允许序列化超出范围的float 类型的值(如float('inf') 、float('-inf') 、float('nan') )。

如果该参数设置为True,则上面列出的那些值将依次使用JavaScript中等价的值( Infinity-Infinity、 NaN)来进 行替代;

如果该参数设置为False,并且要序列化的对象中出现了那些超出范围的值,则将引发ValueError异常。

 ​indent=None 是否在数组元素和对象成员前增加缩进以便使格式更加美观。

如果该参数设置为大于等于1的整数,则添加换行符和对应数量的空格表示缩进,如果设置为0,则表示只添加换行符,如果设置为 None,则表示无缩进。

 ​separators=None 设置Json中各项之间、对象的键和值之间的分隔符;

该参数必须是一个2元组,元组第一个元素表示Json数据中各项之间的分隔符,元组的第二个元素表示Json对象的键和值之间的分隔符。默认的分隔符为(’,’, ‘:’)

 ​default=None 指定一个函数,用来将不可进行序列化的Python对象转化为可序列化的Python对象。
 cls=None 指定一个定制的JSONEncoder 的子类(例如,重写了.default() 方法用来序列化附加的类型),指定该参数时请使用cls 关键字参数。如果未指定该参数,则将使用默认的JSONEncoder 。
 sort_keys=False 是否要将对象中字典元素按照key进行排序。

默认为False,即不进行排序,若指定为 True,则会进行排序。

举个简单的例子:

#!/usr/bin/python3
import json
# Python 字典类型转换为 JSON 对象
data = {'no' : 1,'name' : 'W3CSchool','url' : 'http://www.w3cschool.cn'
}
json_str = json.dumps(data)
print ("Python 原始数据:", repr(data))
print ("JSON 对象:", json_str)

python对象转化为JSON字符串的时候遵循以下转换规则:

PythonJson
dictobject
list, tuplearray
strstring
int, floatnumber
Truetrue
Falsefalse
Nonenull

json.loads()

loads可以传递的参数如下:

json.loads(s,encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None)

在日常使用中,更多的情况我们只传递必须的s参数(这是一个字符串),其他参数为可选参数,下表是该函数的所有参数的作用:

 参数 作用
 ​s​(必选项) 要反序列化的JSON字符串
encoding=None 该参数已弃用,将会被忽略
cls=None 指定一个定制的JsonDecoder 子类,以便实现特定的反序列化需求;
object_hook=None

接受一个可调用对象,用于处理解码后生成的Python对象中​dict​类型的值。

注意,这个处理过程是递归进行的,即返回的Python对象内部所有的字典结构都将被这个方法处理

 parse_float=None

用于处理解码后的Python对象中的float类型的值。

 ​parse_int=None 接受一个可调用对象,用于处理解码后的Python对象中的int 类型的值。
 parse_constant=None接受一个可调用对象,用于解码时对 Infinity、 -Infinity、 NaN或其他非法的Json数值的处理。
 ​object_parse_hook=None 如果指定了该参数并且设置为一个可调用对象,那么Json对象将被解码成一个元素为二元组的列表,二元组的两个元素分别为Json对象中的键值对的键和值,并且列表中元素的顺序与Json对象中键值对的顺序一致。

举个简单的例子:

#!/usr/bin/python3
import json
# Python 字典类型转换为 JSON 对象
data1 = {'no' : 1,'name' : 'W3CSchool','url' : 'http://www.w3cschool.cn'
}json_str = json.dumps(data1)
print ("Python 原始数据:", repr(data1))
print ("JSON 对象:", json_str)# 将 JSON 对象转换为 Python 字典
data2 = json.loads(json_str)
print ("data2['name']: ", data2['name'])
print ("data2['url']: ", data2['url'])

与序列化的过程类似,JSON转化为python对象也遵循一定的规则:

JsonPython
objectdict
arraylist
stringstr
number(int)int
number(real)float
trueTrue
falseFalse
nullNone

http://www.hkea.cn/news/79273/

相关文章:

  • wordpress移除谷歌字体seo网站推广与优化方案
  • 十大景观设计公司排名seo权重查询
  • 水友做的yyf网站十大免费引流平台
  • 东莞公司网站制作百度识图网页版 在线
  • 企业级网站内容管理解决方案网站关键词快速排名服务
  • 影视采集网站怎么做收录关键词是网站seo的核心工作
  • 开发一个网站需要多少时间百度账号免费注册
  • 化妆品网站主页设计长沙关键词优化方法
  • 南阳建网站企业百度推广优化工具
  • 怎样把自己做的网页放在网站里如何做宣传推广营销
  • 七谷网络工作室重庆优化seo
  • 东莞网站建设规范软文内容
  • 项目网站建设业务分析搜索优化的培训免费咨询
  • linux做网站服务器吗关键词上首页软件
  • 西安网站建设行业动态手机营销软件
  • 做推送的网站推荐今日新闻摘抄50字
  • 想在自己的网站做支付优化公司治理结构
  • 国内一家做国外酒店团购的网站网络推广优化是干啥的
  • 手机3d动画制作软件重庆网络seo公司
  • 青海和城乡建设厅网站石家庄自动seo
  • 建站网址是多少深圳市seo上词多少钱
  • 应用网站开发创建网站花钱吗
  • 2023太原疫情优化设计答案大全
  • 创新的专业网站建设适合小学生的新闻事件
  • 政府机关备案网站百度竞价什么意思
  • 广元专业高端网站建设seo视频
  • 烟台网站建设诚信臻动传媒百度网络营销中心
  • 贵阳网站建设搜王道下拉重庆seo网络推广关键词
  • 大型 网站的建设 阶段百度官方网站下载
  • 江苏专业做网站的公司百度地图导航网页版