幾十年來,嵌入式軟件開發人員致力于開發獨立且不需要任何互聯網訪問的產品。在過去十年左右的時間里,連接到互聯網的產品數量呈指數級增長,嵌入式開發人員不得不學習在互聯網世界中進行通信所需的底層技術,例如各種互聯網協議和消息傳遞技術。
雖然開發人員傳統上傳輸編碼的二進制通信流,但互聯網通常使用人類可讀的JSON消息。在這篇文章中,我們將研究JSON是什么以及開發人員如何在他們的嵌入式系統中使用它。
定義 JSON
JSON代表JavaScript 對象符號,是一種開放標準文件格式,于 2013 年在 ECMA-404規范中首次標準化,并使用人類可讀的文本在網絡上傳輸數據對象。在檢查 JSON 消息時,你會注意到它們被分解為屬性和值對的集合。例如,通知系統仍在工作的非常簡單的 JSON 消息可能如下所示:
{
“isAlive” : true
}
消息的“isAlive”部分是屬性,“true”部分是與屬性配對的值。JSON 消息可以包含多個屬性/值對。例如:
{
“isAlive” : true,
“DeviceID” = 1234,
“DeviceName” = “MyProduct”
}
你會注意到,讀取 JSON 消息對于人類來說實際上非常簡單,并且不必查找哪些位或字節與變量相關聯。
JSON 對嵌入式系統開發的影響
你可能會懷疑,使用字符串消息在設備之間傳輸信息會給嵌入式系統開發人員帶來額外的壓力。我們一直使用編碼和二進制數據,因為它傳輸效率更高,解析所需的處理能力也更少。現在,我們需要解析字符串消息! 我懷疑大多數開發人員并不熟悉 C 字符串庫,這給使用 JSON 增加了另一個問題。
結論
任何在物聯網設備上工作的嵌入式開發人員都需要了解 JSON,更重要的是如何解析這些消息。