基于Dragonbaord 410c开发板实现JSON通信报文解析.doc

基于Dragonbaord 410c开发板实现JSON通信报文解析.doc

ID:27870201

大小:60.00 KB

页数:6页

时间:2018-12-06

基于Dragonbaord 410c开发板实现JSON通信报文解析.doc_第1页
基于Dragonbaord 410c开发板实现JSON通信报文解析.doc_第2页
基于Dragonbaord 410c开发板实现JSON通信报文解析.doc_第3页
基于Dragonbaord 410c开发板实现JSON通信报文解析.doc_第4页
基于Dragonbaord 410c开发板实现JSON通信报文解析.doc_第5页
资源描述:

《基于Dragonbaord 410c开发板实现JSON通信报文解析.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于Dragonbaord410c开发板实现JSON通信报文解析  在物联网IOT设计和开发中,我们通常会遇到一些数据交互和传输问题,我们需要在不同的设备间传递数据进行交互通信,通常我们需要选择一个合适的数据交互协议和格式,这样我们的设计才会得到极大的简化,和提高设计质量,JSON是一种是一种轻量级的数据交换格式,近年来不仅被广泛的使用在互联网邻域,同时在IOT领域也得到了广泛的应用,利用JSON来进行数据交互成为了众多IOT设计方案的优选,本节blog将在我们当前非常流行的IOT开发套件draongboard410c上

2、来实现JSON报文的解析和应用。    这里我们使用的是Python脚本在dragonboard410c上实现对JSON报文的解析,这里python提供了JSON库模块来处理JSON报文,这里我们只需要在dragonboard410c上使用apt-get工具安装JSON的python模块即可,具体的安装命令如下:  apt-getinstalljson-py  安装好后,再使用importjson导入即可使用该模块了,利用该模块来进行JSON解析非常方便,下面我们就来看如何使用JSON模块来快捷的实现对JSON报文的解析

3、:  这里我们给出一个常用的系统用户注册报文示例,如下:  ‘{  “report”:{  “from”:“MBD000000001”,  “to”:“MBS000000001”,  “TImeStamp”:“2017-1-1412:45:32”,  “msg”:{  “type”:0,  “userName”:“test1”,  “userMD5”:“abdsetsasgt”,  “sexuality”:“男”,  “age”:“19”,  “phone”:“15361822674”,  “email”:“331212

4、931@qq.com”  }  }  }’  在这个报文中,报文的收发者ID、时间戳、消息类型、用户名、用户的密码MD5值、用户性别等信息等,发送该报文可以向dragonbaord410c设备申请注册,这里就以该注册报文为例来教大家如何快速的编写python脚本来实现对JSON报文的解析。  具体的python代码如下:  #coding:utf8  importsys  importjson  classMssageProcessing:  def__init__(self,recvMsg):  self.reporT

5、IsError=0  self.reporTID=“”  self.toID=“”  try:  self.reportJosn=json.loads(recvMsg)[“report”]  self.msgJosn=self.reportJosn[“msg”]  self.fromID=self.getFromID()  ifself.fromID!=“error”:  self.reporTIsError=0  else:  self.reportIsError=1  self.toID=self.getToID()

6、  ifself.toID!=“error”:  self.reportIsError=0  else:  self.reportIsError=1  except:  print(“recvreportiserror”)  self.reportIsError=1  defupdateMsg(self,recvMsg):  self.reportJosn=json.loads(recvMsg)[“report”]  self.msgJosn=self.reportJosn[“msg”]  self.fromID=sel

7、f.getFromID()  self.toID=self.getToID()  self.mobaiServiceID=“MBS000000001”  defgetFromID(self):  fID=self.reportJosn[“from”]  print(fID)  iflen(fID)!=12:  return“error”  else:  iffID[0:3]==“MBS”orfID[0:3]==“MBU”orfID[0:3]==“MBD”:  try:  int(fID[3:])  returnfID  

8、except:  return“error”  else:  return“error”  defgetToID(self):  print(self.reportJosn[“to”])  returnself.reportJosn[“to”]  defgetTimeStamp(self):  print(self.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。