在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Dragonbaord 410c開發(fā)板實(shí)現(xiàn)JSON通信報(bào)文解析

            基于Dragonbaord 410c開發(fā)板實(shí)現(xiàn)JSON通信報(bào)文解析

            作者: 時(shí)間:2017-10-11 來源:網(wǎng)絡(luò) 收藏

            在物聯(lián)網(wǎng)IOT設(shè)計(jì)和開發(fā)中,我們通常會遇到一些數(shù)據(jù)交互和傳輸問題,我們需要在不同的設(shè)備間傳遞數(shù)據(jù)進(jìn)行交互通信,通常我們需要選擇一個(gè)合適的數(shù)據(jù)交互協(xié)議和格式,這樣我們的設(shè)計(jì)才會得到極大的簡化,和提高設(shè)計(jì)質(zhì)量,JSON是一種是一種輕量級的數(shù)據(jù)交換格式,近年來不僅被廣泛的使用在互聯(lián)網(wǎng)鄰域,同時(shí)在IOT領(lǐng)域也得到了廣泛的應(yīng)用,利用JSON來進(jìn)行數(shù)據(jù)交互成為了眾多IOT設(shè)計(jì)方案的優(yōu)選,本節(jié)blog將在我們當(dāng)前非常流行的IOT開發(fā)套件draongboard 410c上來實(shí)現(xiàn)JSON報(bào)文的解析和應(yīng)用。

            本文引用地址:http://www.biyoush.com/article/201710/365544.htm

            這里我們使用的是Python腳本在dragonboard 410c上實(shí)現(xiàn)對JSON報(bào)文的解析,這里python提供了JSON庫模塊來處理JSON報(bào)文,這里我們只需要在dragonboard 410c上使用apt-get工具安裝JSON的python模塊即可,具體的安裝命令如下:

            apt-get install -py

            安裝好后,再使用import 導(dǎo)入即可使用該模塊了,利用該模塊來進(jìn)行JSON解析非常方便,下面我們就來看如何使用JSON模塊來快捷的實(shí)現(xiàn)對JSON報(bào)文的解析:

            這里我們給出一個(gè)常用的系統(tǒng)用戶注冊報(bào)文示例,如下:

            ‘{

            “report”:{

            “from”:“MBD000000001”,

            “to”:“MBS000000001”,

            “TImeStamp”:“2017-1-14 12:45:32”,

            “msg”:{

            “type”:0,

            “userName”:“test1”,

            “userMD5”:“abdsetsasgt”,

            “sexuality”:“男”,

            “age”:“19”,

            “phone”:“15361822674”,

            “email”:“[email protected]

            }

            }

            }’

            在這個(gè)報(bào)文中,報(bào)文的收發(fā)者ID、時(shí)間戳、消息類型、用戶名、用戶的密碼MD5值、用戶性別等信息等,發(fā)送該報(bào)文可以向dragonbaord 410c設(shè)備申請注冊,這里就以該注冊報(bào)文為例來教大家如何快速的編寫python腳本來實(shí)現(xiàn)對JSON報(bào)文的解析。

            具體的python代碼如下:

            #coding:utf8

            import sys

            import

            class MssageProcessing:

            def __init__(self,recvMsg):

            self.reporTIsError=0

            self.reporTID=“”

            self.toID=“”

            try:

            self.reportJosn=json.loads(recvMsg)[“report”]

            self.msgJosn=self.reportJosn[“msg”]

            self.fromID=self.getFromID()

            if self.fromID!=“error”:

            self.reporTIsError=0

            else:

            self.reportIsError=1

            self.toID=self.getToID()

            if self.toID!=“error”:

            self.reportIsError=0

            else:

            self.reportIsError=1

            except:

            print(“recv report is error”)

            self.reportIsError=1

            def updateMsg(self,recvMsg):

            self.reportJosn=json.loads(recvMsg)[“report”]

            self.msgJosn=self.reportJosn[“msg”]

            self.fromID=self.getFromID()

            self.toID=self.getToID()

            self.mobaiServiceID=“MBS000000001”

            def getFromID(self):

            fID=self.reportJosn[“from”]

            print(fID)

            if len(fID)!=12:

            return “error”

            else:

            if fID[0:3]==“MBS” or fID[0:3]==“MBU” or fID[0:3]==“MBD”:

            try:

            int(fID[3:])

            return fID

            except:

            return “error”

            else:

            return “error”

            def getToID(self):

            print(self.reportJosn[“to”])

            return self.reportJosn[“to”]

            def getTimeStamp(self):

            print(self.reportJosn[“timeStamp”])

            return self.reportJosn[“timeStamp”]

            def getMsgType(self):

            print(self.msgJosn[“type”])

            return self.msgJosn[“type”]

            if __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)

            運(yùn)行上述代碼我們就可以看到,我們可以獲取報(bào)文中對應(yīng)字段標(biāo)簽的內(nèi)容進(jìn)行打印,表示對JSON報(bào)文解析成功。



            關(guān)鍵詞: DragonBoard410c json

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉