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

上传人:白大夫 文档编号:3409798 上传时间:2019-08-22 格式:DOC 页数:4 大小:21.50KB
返回 下载 相关 举报
基于Dragonbaord 410c开发板实现JSON通信报文解析.doc_第1页
第1页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于Dragonbaord 410c开发板实现JSON通信报文解析.doc》由会员分享,可在线阅读,更多相关《基于Dragonbaord 410c开发板实现JSON通信报文解析.doc(4页珍藏版)》请在三一文库上搜索。

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

2、onboard 410c上实现对JSON报文的解析,这里python提供了JSON库模块来处理JSON报文,这里我们只需要在dragonboard 410c上使用apt-get工具安装JSON的python模块即可,具体的安装命令如下:apt-get install json-py安装好后,再使用import json 导入即可使用该模块了,利用该模块来进行JSON解析非常方便,下面我们就来看如何使用JSON模块来快捷的实现对JSON报文的解析:这里我们给出一个常用的系统用户注册报文示例,如下:report:from:MBD000000001,to:MBS000000001,TImeStamp

3、:2017-1-14 12:45:32,msg:type:0,userName:test1,userMD5:abdsetsasgt,sexuality:男,age:19,phone:15361822674,email:331212931qq在这个报文中,报文的收发者ID、时间戳、消息类型、用户名、用户的密码MD5值、用户性别等信息等,发送该报文可以向dragonbaord 410c设备申请注册,这里就以该注册报文为例来教大家如何快速的编写python脚本来实现对JSON报文的解析。具体的python代码如下:#coding:utf8import sysimport jsonclass Mssa

4、geProcessing:def _init_(self,recvMsg):self.reporTIsError=0self.reporTID=self.toID=try:self.reportJosn=json.loads(recvMsg)reportself.msgJosn=self.reportJosnmsgself.fromID=self.getFromID()if self.fromID!=error:self.reporTIsError=0else:self.reportIsError=1self.toID=self.getToID()if self.toID!=error:sel

5、f.reportIsError=0else:self.reportIsError=1except:print(recv report is error)self.reportIsError=1def updateMsg(self,recvMsg):self.reportJosn=json.loads(recvMsg)reportself.msgJosn=self.reportJosnmsgself.fromID=self.getFromID()self.toID=self.getToID()self.mobaiServiceID=MBS000000001def getFromID(self):

6、fID=self.reportJosnfromprint(fID)if len(fID)!=12:return errorelse:if fID0:3=MBS or fID0:3=MBU or fID0:3=MBD:try:int(fID3:)return fIDexcept:return errorelse:return errordef getToID(self):print(self.reportJosnto)return self.reportJosntodef getTimeStamp(self):print(self.reportJosntimeStamp)return self.

7、reportJosntimeStampdef getMsgType(self):print(self.msgJosntype)return self.msgJosntypeif _name_=_main_:recvMsg=MssageProcessing(report:from:000000000001,to:000000000002,timeStamp:2017-1-14 12:45:32,msg:type:0,userName:test1,userMD5:abdsetsasgt,sexuality:男,age:19)recvMsg.getFromID()recvMsg.getToID()recvMsg.getMsgType()userName,userMD5,sexuality,age=recvMsg.registerMessageHandle()print(userName)print(userMD5)运行上述代码我们就可以看到,我们可以获取报文中对应字段标签的内容进行打印,表示对JSON报文解析成功。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1