用cJSON解析心知天氣返回的資料報

2021-10-25 05:02:32 字數 1531 閱讀 8909

目錄:

天氣資料解析1–json格式資料處理天氣api介面返回的資料,中間遇到了點問題,裡面涉及到的知識:串列埠通訊、json字串咱們之前都有介紹過,那我就藉此機會,利用cjson處理一下這個資料報吧。

有時我們的應用想要獲取天氣預報資訊,網上有不少天氣預報api提供天氣資料服務,我們以心知天氣提供的api為例,看看如何使用cjson解析心知天氣api返回的資料報。

上面加粗的地方,key處替換為你自己的私鑰;dalian處替換為你要查詢的目標城市;zh-hans處替換為en就是英文的顯示方式了。我們為了oled顯示方便,先使用英文的顯示方式。

為了可以動態顯示天氣資訊,我們使用串列埠傳送資料至stm32,用來模擬網路獲請求到的資料,然後微控制器解析完之後顯示到oled屏上,顯示城市資訊和天氣溫度。

以後會寫乙個使用網路模組實時呼叫網路上天氣資訊的例程,敬請留意。

解析過程**現的問題:

解決辦法:

將malloc.**件中的巨集定義更改如下:

原來#define mem_max_size 35*1024

改為#define mem_max_size 16*1024

此引數的大小由返回的json資料報大小決定,緩衝區大小要比最大的包要大一些才可以。

實現的功能:

pc機的串列埠助手設定位元率為115200,拷貝心知天氣api返回的字串直接串列埠傳送;

stm32f103c8t6微控制器的串列埠1接收上面的字串,使用cjson解析此字串;

解析之後的結果儲存至結構體中暫存;

oled顯示結構體中天氣和溫度的值。

因為乙個字元寬度為8px,所以一行可以顯示128px/8px=16個字元,使用oled_showstr來顯示字串的話,注意控制字串長度,如果格式化之後超過16個字元,那麼顯示會有序列的現象。

歡迎注

解析心知天氣API介面返回的json資料

json資料結構如下 北京今天和未來4天的預報 心知天氣json資料型別說明原址 daily last update 2015 09 20t18 00 00 08 00 資料更新時間 該城市的本地時間 解析如下 jsonobject jsonobject new jsonobject respons...

cjson構建 cJSON的構造和解析

對於cjson的使用,我主要是用來模擬遠端伺服器端返回的乙個json型別的目錄結構,客戶端進行獲取並進行解析,把解析出來的目錄按照原本的結構顯示在本地。cjson是乙個超輕巧,攜帶方便,單檔案,簡單的可以作為ansi c標準的json解析器。cjson結構體 typedef struct cjson...

cJSON的構造和解析

對於cjson的使用,我主要是用來模擬遠端伺服器端返回的乙個 json 型別的目錄結構,客戶端進行獲取並進行解析,把解析出來的目錄按照原本的結構顯示在本地。cjson 是乙個超輕巧,攜帶方便,單檔案,簡單的可以作為 ansi c 標準的json 解析器。進入cjson.h標頭檔案中可以檢視cjson...