資料介紹
硬件設備由 MCU、MCU 上的 OS、各種傳感器、WIFI/藍牙/3G/4G 以及其他聯網通信模塊和應用程序構成。 其中硬件設備有兩種接入方式, 第一種就是通過聯網通信模塊接入網關, 通過網關完成數據的發送與接收, 最終將數據轉發到云平臺或者手機端。 第二種就是硬件設備直接與手機實現本地連接, 進行數據的交換包括配網等操作。 因為云端平臺數據傳輸采用JSON協議,因此,硬件堆JSON的解析非常重要。傳統的C JSON解析非常龐大,在微處理器中,這無疑是一個巨大的問題。因此,編寫了一個非常簡單的JSON你判定,解析,與鍵值校驗的三個純C語言函數。占用空間非常小。具體的代碼如下文所示:
硬件設備由 MCU、MCU 上的 OS、各種傳感器、WIFI/藍牙/3G/4G 以及其他聯網通信模塊和應用程序構成。 其中硬件設備有兩種接入方式, 第一種就是通過聯網通信模塊接入網關, 通過網關完成數據的發送與接收, 最終將數據轉發到云平臺或者手機端。 第二種就是硬件設備直接與手機實現本地連接, 進行數據的交換包括配網等操作。
因為云端平臺數據傳輸采用JSON協議,因此,硬件堆JSON的解析非常重要。傳統的C JSON解析非常龐大,在微處理器中,這無疑是一個巨大的問題。因此,編寫了一個非常簡單的JSON你判定,解析,與鍵值校驗的三個純C語言函數。占用空間非常小。具體的代碼如下文所示:
/***************************************
name: JSON C函數庫 C文件
***************************************/
#include "include.h"
/***************************************
name: 函數聲明
input:
output:
description:
***************************************/
char json_check(char *str); //JSON 校驗函數
char json_get_value(char *json,char *json_key , char *json_value); //JSON獲取鍵值
char json_check_value(char *str1, char *str2); //JSON 鍵值對比函數
/***************************************
name: JSON 校驗函數
input: 字符串
output: 合法JAON 返回1 不合法JSON 返回0
description:
***************************************/
char json_check(char *str)
{
char str_length; //定義字符長度變量
str_length = strlen(str); //計算字符長度
if(str[0] == '{' && str[str_length-1] == '}') //通過首尾大括號判斷是否為JSON
{
return 1; //如果字符串為合法JSON 返回1
}
else
{
return 0; //如果字符串為合法JSON 返回0
}
}
/***************************************
name: JSON 獲取鍵值函數
input: JSON字符串 要獲取的鍵名 獲取鍵值的字符串
output: 如果獲取成功返回1 獲取失敗返回0
description:
***************************************/
char json_get_value(char *json,char *json_key , char *json_value)
{
char *json_key_start; //定義鍵名開始的位置
char *json_key_end; //定義鍵名結束的位置
char json_key_length; //定義鍵名長度
char *json_value_start; //定義鍵值開始的位置
char *json_value_end; //定義鍵值結束的位置
char json_value_length; //定義鍵值長度
json_key_start = strstr(json,json_key); //獲取鍵名開始的位置
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 自編適用于嵌入式單片機Json封包與解析的程序
- 極簡單片機最小系統制作完全圖解 11次下載
- 單片機最小應用系統及外部擴展總線資料下載
- 面向NoSQL數據庫的JSON文檔異常檢測模型 20次下載
- 單片機音樂程序的設計原理解析資料下載
- 適用于PIC和AVR器件的JSON解碼器 6次下載
- 設計并制作一個單片機最小系統 37次下載
- 使用單片機做一個簡單的流水燈的程序和燒寫資料免費下載
- 51單片機中斷的簡單學習資料免費下載
- 51單片機最小系統是什么?51單片機最小系統的電路介紹
- 使用單片機模擬電話鍵盤的資料合集免費下載
- java生成json格式數據 和 java遍歷json格式數據 0次下載
- aJson-master(arduino的json解析很好) 78次下載
- JSON教程 30次下載
- 單片機從入門到精通系列講座(一)之單片機最小系統及I/O應用 8.2k次下載
- 詳解DBC的Signal與JSON文本結合 77次閱讀
- 單片機最小系統原理圖講解 2.3w次閱讀
- 怎么用C+JS結構來處理JSON數據? 1.4k次閱讀
- 分享幾個格式化輸出json文件的方法 7.7k次閱讀
- 單片機最小體系電路原理 1w次閱讀
- 在Python中高效使用JSON的四種方法 3.3k次閱讀
- 第一個單片機最小系統PCB所遇到的問題 4.5k次閱讀
- 如何自制一個AVR單片機ISP下載線 4.9k次閱讀
- 單片機最小系統板制作方法 2.4w次閱讀
- 怎么編寫一個最簡單的單片機程序? 3.7w次閱讀
- 告訴你怎么編寫一個最簡單的單片機程序 4.4w次閱讀
- 自動根據json字符串生成javabean類 6.8k次閱讀
- ARDUINO IDE編寫和AVR單片機程序的下載 1.1w次閱讀
- 關于一個簡單單片機項目的一些想法 1k次閱讀
- 單片機入門指南:單片機最小系統組成電路及其作用 8.8k次閱讀
下載排行
本周
- 1冷柜-電氣控制系統講解
- 13.68 MB | 4次下載 | 10 積分
- 2安川A1000變頻器中文版說明書
- 20.16 MB | 3次下載 | 3 積分
- 3直流電路的組成和基本定律
- 1.67 MB | 2次下載 | 免費
- 4丹佛斯2800系列變頻器說明書
- 8.00 MB | 1次下載 | 5 積分
- 5PC8011同步開關型降壓3.5A單節鋰電池充電管理電路技術手冊
- 0.74 MB | 1次下載 | 免費
- 6ES7243E+ES8311音頻錄制與播放電路資料
- 0.06 MB | 1次下載 | 5 積分
- 7SDM02 激光測距模塊產品手冊
- 0.43 MB | 1次下載 | 免費
- 8SDFM 激光測距模塊模組手冊
- 0.54 MB | 1次下載 | 免費
本月
- 1CH341編程器軟件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下載 | 1 積分
- 22025智能家居傳感器市場分析及創新應用
- 3.11 MB | 43次下載 | 免費
- 3RV1126B系列開發板產品資料
- 4.19 MB | 18次下載 | 免費
- 4CH341編程軟件下載
- 2.50 MB | 16次下載 | 5 積分
- 5全志系列-米爾基于T153核心板開發板 四核異構、3路千兆網,賦能多元化工業場景
- 3.05 MB | 12次下載 | 免費
- 6【開源】60余套STM32單片機、嵌入式Linux、物聯網、人工智能項目案例及入門學習資源包
- 10.55 MB | 8次下載 | 免費
- 7冷柜-電氣控制系統講解
- 13.68 MB | 4次下載 | 10 積分
- 8特斯拉MODEL S車載充電機主電路回路原理圖
- 0.81 MB | 4次下載 | 3 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935137次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233094次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191448次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183356次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81604次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73824次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發燒友App





創作
發文章
發帖
提問
發資料
發視頻
上傳資料賺積分
評論