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
}
'''我使用這種結構把OpenMV采集到的顏色信息發(fā)送到wifi中的服務器中。
甚至于,可以像這樣:
'''
{
"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ù)格式之間的轉換
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對象。返回結果對象。
解析一直持續(xù)到到文件結束end-of-file。 如果 stream 中的數(shù)據(jù)格式不正確, ValueError 將被觸發(fā)。
解析JSON對象
ujson.loads(str)
解析JSON str 并返回一個對象。若該字符串未正確排列,則會引發(fā)示值誤差。
到此這篇關于OpenMV與JSON編碼的文章就介紹到這了,更多相關OpenMV與JSON編碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
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-03
pycharm中使用request和Pytest進行接口測試的方法
這篇文章主要介紹了pycharm中使用request和Pytest進行接口測試的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
python 接口測試response返回數(shù)據(jù)對比的方法
本篇文章主要介紹了python 接口測試response返回數(shù)據(jù)對比的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02
深入理解Python內(nèi)置函數(shù)map filter reduce及與列表推導式對比
這篇文章主要為大家介紹了Python內(nèi)置函數(shù)map filter reduce及與列表推導式對比方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06

