在C語言中,讀取JSON數(shù)據(jù)組是非常常見的操作。JSON就像一種輕量級(jí)的數(shù)據(jù)格式,能夠用于程序之間的數(shù)據(jù)傳輸。在下面的例子中,我們演示如何讀取JSON數(shù)據(jù)組。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { json_t *root; json_error_t error; // 讀取JSON文件 root = json_load_file("data.json", 0, &error); if(!root) { fprintf(stderr, "讀取JSON文件錯(cuò)誤:行 %d: %s\n", error.line, error.text); return 1; } // 獲取JSON數(shù)據(jù)組長度 int size = json_array_size(root); for(int i = 0; i < size; i++) { // 獲取單個(gè)JSON數(shù)據(jù) json_t *data = json_array_get(root, i); // 獲取JSON中的ID json_t *id = json_object_get(data, "id"); // 獲取JSON中的名稱 json_t *name = json_object_get(data, "name"); // 打印JSON數(shù)據(jù) printf("ID:%d, 名稱:%s\n", json_integer_value(id), json_string_value(name)); } // 釋放JSON資源 json_decref(root); return 0; }
首先,我們需要安裝jansson庫來處理JSON數(shù)據(jù)。在代碼中,我們使用json_load_file()函數(shù)來讀取JSON文件。如果讀取錯(cuò)誤,則會(huì)輸出錯(cuò)誤信息,并且程序?qū)?huì)退出。
接下來,我們使用json_array_size()函數(shù)來獲取JSON數(shù)據(jù)組的長度。然后,再使用json_array_get()函數(shù)來獲取單個(gè)JSON數(shù)據(jù)。接著,使用json_object_get()函數(shù)獲取JSON數(shù)據(jù)內(nèi)的特定屬性。在這個(gè)例子中,我們獲取ID和名稱。最后,使用json_integer_value()和json_string_value()函數(shù)分別獲取ID和名稱的值,并且打印在終端上。
最后,我們需要使用json_decref()函數(shù)來釋放JSON資源。
上一篇c 讀 生成json文件
下一篇vue2 accept=