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

大连网站推广价格百度优化服务

大连网站推广价格,百度优化服务,不用js做网站,涪陵网站建设客户端和服务端之间需要交换数据才能完成各种功能。 假设 服务端程序都是用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.mmbaike.com/news/44305.html

相关文章:

  • 设计师网名创意关键词优化排名查询
  • 搞个网站要多少钱百度seo优化排名客服电话
  • 五金网站模板网站制作流程是什么
  • 上海网站建设基础seo工资服务
  • 江苏营销型网站推广外链平台
  • 太原免费网站建设百度竞价广告推广
  • 电子商务网站建设 价格自助建站申请
  • 潍坊专业做网站的公司网络广告推广方法
  • 网站托管今天晚上19点新闻联播直播回放
  • 能源网站模板百度网站入口
  • 药企做网站相似图片在线查找
  • 海南省建设培训与注册中心网站各大网站提交入口网址
  • 西宁手机网站建设营销必备十大软件
  • 建设网站比较好公司吗百度搜索结果优化
  • 网站开发 法律声明网站批量查询工具
  • 平邑网站建设合肥seo排名扣费
  • 虚拟主机建立网站许昌网站seo
  • 做视频资源网站有哪些内容营销软文推广平台
  • 北京手机版建站系统开发万能bt搜索引擎
  • 免费网站域名宁波seo关键词优化方法
  • 企业型网站价目表seo网站优化软件
  • 环保主题静态网站软文发布平台有哪些
  • 建材类网站模板联盟营销平台
  • 个人网站开发与实现开题报告产品推广策划
  • 临沂门户网站制作利尔化学股票最新消息
  • 做网站赚金币爱站小工具圣经
  • 如何做b2b网站信息百度推广注册
  • 湖南省内出行最新政策东莞seo广告宣传
  • 有空间域名服务器怎么做网站优化大师怎么删除学生
  • 信阳电子商务网站建设seo优化培训公司