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

网站流量作用专业培训机构

网站流量作用,专业培训机构,360建筑网质量怎么样,网站怎么做二级域名客户端和服务端之间需要交换数据才能完成各种功能。 假设 服务端程序都是用Python语言开发的话,那么 服务端从数据库中获取的最近的交易列表,可能就是像下面这样的一个Python列表对象: historyTransactions [{time : 20170101070311, #…

客户端和服务端之间需要交换数据才能完成各种功能。

假设 服务端程序都是用Python语言开发的话,那么

服务端从数据库中获取的最近的交易列表,可能就是像下面这样的一个Python列表对象:

historyTransactions = [{'time'   : '20170101070311',  # 交易时间'amount' : '3088',            # 交易金额'productid' : '45454455555',  # 货号'productname' : 'iphone7'     # 货名},{'time'   : '20170101050311',  # 交易时间'amount' : '18',              # 交易金额'productid' : '453455772955', # 货号'productname' : '奥妙洗衣液'   # 货名},...
]

我们怎样把存在于内存中的数据对象传递给客户端呢?

通常,我们把程序的各种类型的数据对象变成表示该数据对象的字节串,这个过程称之为序列化。

把字节串转化为程序中的数据对象,这个过程称之为反序列化。

通常我们的传输协议(通常是http协议)传送信息,传输的都是序列化好的字节串。

而不同的客户端、服务端程序可能使用不同的语言。为了方便不同的编程语言的处理,这个序列化的格式应该是各种语言都方便处理的。

XML的一个弊端就是 序列化性能相对比较低, 而且转化后的数据体积增大很多。

最近的主流方案就是JSON。

JSON(Javascript Object Notation, JS对象标识) 是一种轻量级的数据交换格式。

它是Javascript规范里面定义的,它是一种文本格式来存储和表示数据。

它的特点是简洁并且清晰,人都能很容易地看明白。

也方便程序的解析和生成。

任何编程语言都可以使用这种格式。而且很多编程语言的解释器都内置了库,可以很方便地进行序列化和反序列化。包括Python和javascript等。

序列化和反序列化:

Python中内置了json这个库,可以 方便的把内置的数据对象 序列化json格式文本的字符串。

import jsonhistoryTransactions = [{'time': '20170101070311',  # 交易时间'amount': '3088',            # 交易金额'productid': '45454455555',  # 货号'productname': 'iphone7'     # 货名},{'time': '20170101050311',  # 交易时间'amount': '18',              # 交易金额'productid': '453455772955', # 货号'productname': '奥妙洗衣液'   # 货名}
]# dumps()方法将数据对象序列化为json格式的字符串
jsonstr = json.dumps(historyTransactions)# 打印json格式的字符串
print(jsonstr)

执行结果:

C:\Users\changchunhua\AppData\Local\Programs\Python\Python311\python.exe D:\PythonCode\chang\my.py 
[{"time": "20170101070311", "amount": "3088", "productid": "45454455555", "productname": "iphone7"}, {"time": "20170101050311", "amount": "18", "productid": "453455772955", "productname": "\u5965\u5999\u6d17\u8863\u6db2"}]Process finished with exit code 0

当然有些不同,比如字符串只能用双引号列表最后一个元素后面不能有逗号等。

序列化后的结果,也是一个!!!字符串。 json格式本身就是一个字符串。

然后我们可以存储到文件,或者从网络发送出去。

这样就完成了数据对象的发送。

因为网络中是无法直接传输你内存中的数据对象的。

json.dumps方法中发现字符串如果有非ascii码字符,缺省的就用该字符的unicode数字来表示。

import jsonhistoryTransactions = [{'time': '20170101070311',  # 交易时间'amount': '3088',            # 交易金额'productid': '45454455555',  # 货号'productname': 'iphone7'     # 货名},{'time': '20170101050311',  # 交易时间'amount': '18',              # 交易金额'productid': '453455772955', # 货号'productname': '奥妙洗衣液'   # 货名}
]# dumps()方法将数据对象序列化为json格式的字符串
jsonstr = json.dumps(historyTransactions, ensure_ascii=False, indent=4)# 打印json格式的字符串
print(jsonstr)

执行结果:

C:\Users\changchunhua\AppData\Local\Programs\Python\Python311\python.exe D:\PythonCode\chang\my.py 
[{"time": "20170101070311","amount": "3088","productid": "45454455555","productname": "iphone7"},{"time": "20170101050311","amount": "18","productid": "453455772955","productname": "奥妙洗衣液"}
]Process finished with exit code 0

接收方如果也是Python开发的,可以使用json库中的loads方法。把json格式的字符串变成Python中的数据对象。

import jsonhistoryTransactions = [{'time': '20170101070311',  # 交易时间'amount': '3088',            # 交易金额'productid': '45454455555',  # 货号'productname': 'iphone7'     # 货名},{'time': '20170101050311',  # 交易时间'amount': '18',              # 交易金额'productid': '453455772955', # 货号'productname': '奥妙洗衣液'   # 货名}
]# dumps()方法将数据对象序列化为json格式的字符串
jsonstr = json.dumps(historyTransactions)# 打印json格式的字符串
print(jsonstr)print("反序列化:")
translist = json.loads(jsonstr)
print(translist)
C:\Users\changchunhua\AppData\Local\Programs\Python\Python311\python.exe D:\PythonCode\chang\my.py 
[{"time": "20170101070311", "amount": "3088", "productid": "45454455555", "productname": "iphone7"}, {"time": "20170101050311", "amount": "18", "productid": "453455772955", "productname": "\u5965\u5999\u6d17\u8863\u6db2"}]
反序列化:
[{'time': '20170101070311', 'amount': '3088', 'productid': '45454455555', 'productname': 'iphone7'}, {'time': '20170101050311', 'amount': '18', 'productid': '453455772955', 'productname': '奥妙洗衣液'}]Process finished with exit code 0

我们看下:

发序列化后,是一个列表对象。然后程序就是列表操作了,应该是非常简单的。
Python中的数据对象,是单引号。然后也变成了中文。

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

相关文章:

  • 网站建设 青海网站建设找哪家好
  • win7 网站配置优化方案官网电子版
  • 广州seo优化公司排名浙江seo博客
  • 全网推广的方式有哪些抖音seo推荐算法
  • 网站开发开源架构抖音营销软件
  • 自己做的网站能放到网上么青岛seo经理
  • 营业推广策划方案邵阳网站seo
  • 手机网站横向切换kol合作推广
  • 专门做超市海报的网站宁波seo咨询
  • 仿网站上的焦点图在线看seo网站
  • 做网站的业务员艾滋病阻断药有哪些
  • web集团网站建设广告投放平台有哪些
  • 大连做网站建设广告资源对接平台
  • 做网站怎么写工作日志泉州网站seo公司
  • wordpress外链站内打开搜索引擎是什么意思啊
  • 做论坛网站需要什么备案新站seo优化快速上排名
  • 动漫网站html百度网盘搜索
  • 怎么看一个网站什么语言做的宝鸡seo培训
  • 数据库网站建设公司他达拉非片
  • 英文商城网站建设搜索引擎营销的特点
  • 易优建站系统图片百度搜索
  • 网站开发不用框架web网站设计
  • 技能网站建设项目需求武汉网络推广外包公司
  • 安卓市场下载手机版优化网站排名技巧
  • 建设网站平台哪个好互联网营销外包推广
  • 工商注册企业名称查询广东seo网站推广代运营
  • 中纪委网站两学一做征文资源平台
  • java高端网站建设现在广告行业好做吗
  • wordpress 制作下载优化关键词怎么做
  • 宁波网站建设哪个公司好百度爱采购推广怎么入驻