OpenMV與JSON編碼問題解析
JSON
如果想快速嘗試兩個單片機通信的。推薦使用串口傳輸json
字符串!
JSON是一種簡潔高效的交換數(shù)據(jù)的格式。 它可以是這種簡單的:
"[[12,0],[10,12],[22,10],[99,11]]"
注:我通過這種簡單的字符串,把OpenMV中的色塊的x,y坐標發(fā)送出去。
也可以是這種復雜的:
在python中表示多行字符串:
''' { "number":10, "color" :[255,0,0], "rate" :0.65 } '''
我使用這種結(jié)構(gòu)把OpenMV采集到的顏色信息發(fā)送到wifi中的服務(wù)器中。
甚至于,可以像這樣:
''' { "firstName": "John", "lastName": "Smith", "sex": "male", "age": 25, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021" }, "phoneNumber": [ { "type": "home", "number": "212 555-1234" }, { "type": "fax", "number": "646 555-4567" } ] } '''
注意:json的形式和Python很像,但是json是javascript的對象表達形式,和python的表達形式稍有不同。
ujson – JSON編碼與解碼
OpenMV內(nèi)置的json
模塊允許Python對象和JSON數(shù)據(jù)格式之間的轉(zhuǎn)換
Python生成JSON
OpenMV有json的模塊,json.dumps(obj)
和ujson.loads(str)
可以很容的生成json字符串和解析json字符串。
import json obj = [[12,0],[10,12],[22,10],[99,11]] print(json.dumps(obj)) obj = { "number":10, "color" :[255,0,0], "rate" :0.65 } print(json.dumps(obj))
然后把字符串通過串口發(fā)送出去,然后在另一端,把json字符串解析成對象/數(shù)組。然后進行接下來的邏輯操作。
會輸出:
'[[12, 0], [10, 12], [22, 10], [99, 11]]'
'{"color": [255, 0, 0], "number": 10, "rate": 0.65}'
常用函數(shù)
生成JSON字符串
ujson.dumps(obj)
返回表示為JSON
字符串的 obj
。
解析JSON字符串
ujson.load(stream)
解析給定的 stream ,將其解釋為JSON
字符串并將數(shù)據(jù)反序列化為Python對象。返回結(jié)果對象。
解析一直持續(xù)到到文件結(jié)束end-of-file
。 如果 stream 中的數(shù)據(jù)格式不正確, ValueError
將被觸發(fā)。
解析JSON
對象
ujson.loads(str)
解析JSON str
并返回一個對象。若該字符串未正確排列,則會引發(fā)示值誤差。
到此這篇關(guān)于OpenMV與JSON編碼的文章就介紹到這了,更多相關(guān)OpenMV與JSON編碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用protobuf序列化和反序列化的實現(xiàn)
protobuf是一種二進制的序列化格式,相對于json來說體積更小,傳輸更快,本文主要介紹了Python使用protobuf序列化和反序列化的實現(xiàn),感興趣的可以了解一下2021-05-05利用Python?requests庫爬取高德地圖全國地鐵站點信息
requests?模塊是?python?基于?urllib,采用?Apache2?Licensed?開源協(xié)議的?HTTP?庫,它比?urllib?更加方便,可以節(jié)約我們大量的工作,完全滿足?HTTP?測試需求,這篇文章主要介紹了利用Python?requests庫爬取高德地圖全國地鐵站點信息,需要的朋友可以參考下2024-03-03pycharm中使用request和Pytest進行接口測試的方法
這篇文章主要介紹了pycharm中使用request和Pytest進行接口測試的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07python 接口測試response返回數(shù)據(jù)對比的方法
本篇文章主要介紹了python 接口測試response返回數(shù)據(jù)對比的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02python?包之?APScheduler?定時任務(wù)
這篇文章主要介紹了python?包之?APScheduler?定時任務(wù),文章基于python的相關(guān)資料展開主題內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下2022-04-04深入理解Python內(nèi)置函數(shù)map filter reduce及與列表推導式對比
這篇文章主要為大家介紹了Python內(nèi)置函數(shù)map filter reduce及與列表推導式對比方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06