在C語言中,可以使用第三方庫 cJSON 來解析 JSON 字符串。本文將演示如何使用 cJSON 將一個 JSON 字符串數組中的值解析出來。
首先,需要包含 cJSON 的頭文件:
#include "cJSON.h"接著,定義一個 JSON 字符串數組:
char* json_str_arr[] = { "{ \"name\": \"Alice\", \"age\": 26 }", "{ \"name\": \"Bob\", \"age\": 23 }", "{ \"name\": \"Cathy\", \"age\": 28 }" };然后,使用循環依次解析每一個 JSON 字符串:
for (int i = 0; i< 3; i++) { cJSON* json = cJSON_Parse(json_str_arr[i]); if (json != NULL) { cJSON* name = cJSON_GetObjectItemCaseSensitive(json, "name"); cJSON* age = cJSON_GetObjectItemCaseSensitive(json, "age"); printf("Name: %s, Age: %d\n", cJSON_GetStringValue(name), cJSON_GetNumberValue(age)); cJSON_Delete(json); } }解析時需要注意以下幾點: 1. 使用 cJSON_Parse 將 JSON 字符串解析為 cJSON 對象; 2. 使用 cJSON_GetObjectItemCaseSensitive 根據鍵名獲取 cJSON 對象; 3. 使用 cJSON_GetStringValue 和 cJSON_GetNumberValue 獲取值; 4. 使用 cJSON_Delete 刪除 cJSON 對象。 最終的輸出結果為:
Name: Alice, Age: 26 Name: Bob, Age: 23 Name: Cathy, Age: 28本文僅是一個簡單的介紹,cJSON 還有很多其他的API,具體可查閱官方文檔。
上一篇vue fifter
下一篇python 窗口化編程