C 語言是一種功能強大的編程語言,它與各種應用程序和運行環境相匹配。在 C 語言的環境中,使用 JSON 解析器可以方便地將 JSON 文本轉換為相應的數據類型。 下面是一個簡單的 C 語言程序,用于解析包含一個經緯度對的 JSON 格式字符串:
#include首先,我們需要包含 cjson.h 文件,這是一個 C 語言 JSON 庫,可以從官方網站或 GitHub 下載。 該程序的主要函數是 main()。在其中,我們定義了一個字符串變量 json_string ,其中包含 JSON 格式字符串。然后,我們使用 cJSON_Parse() 函數將其解析成一個 cJSON 對象根節點,該函數返回根節點。如果解析成功,則繼續執行。 然后,我們使用 cJSON_GetObjectItem() 函數從根節點中獲取名為“latitude”和“longitude”的項。如果這些項是數字類型,則訪問它們的值。我們使用 cJSON_IsNumber() 函數來判斷節點類型,這是測試節點類型的最佳方法。 最后,在返回 zero 前,我們將批準的節點及時刪除,并打印出緯度和經度,因為我們需要這些信息進行后續操作。#include #include #include "cJSON.h" int main() { char *json_string = "{\"latitude\": 51.5285582,\"longitude\": -0.2416803 }"; cJSON *root = cJSON_Parse(json_string); if (root != NULL) { cJSON *latitude_item = cJSON_GetObjectItem(root, "latitude"); cJSON *longitude_item = cJSON_GetObjectItem(root, "longitude"); if (cJSON_IsNumber(latitude_item) && cJSON_IsNumber(longitude_item)) { double latitude = latitude_item->valuedouble; double longitude = longitude_item->valuedouble; printf("latitude: %f , longitude: %f", latitude, longitude); } cJSON_Delete(root); } return 0; }