在C語言中,要讀取JSON格式的數據,首先需要了解JSON的基本語法和結構。JSON是一種輕量級的數據交換格式,經常用來在不同的平臺和編程語言之間傳輸數據。它使用鍵值對的方式存儲數據,每個鍵值對之間用逗號隔開,鍵和值之間用冒號隔開,數據結構類似于一個字典。那么在C語言中如何讀取JSON格式的數據呢?
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { char* json_string = "{\"name\":\"Tom\",\"age\":25,\"score\":[80, 90]}"; // 定義JSON格式的字符串 json_t* root; json_error_t error; root = json_loads(json_string, 0, &error); // 解析JSON字符串 if (!root) { // 錯誤處理 printf("JSON解析錯誤,行號:%d,錯誤信息:%s\n", error.line, error.text); return 1; } json_t* name = json_object_get(root, "name"); // 從JSON對象中獲取數據 const char* name_str = json_string_value(name); // 獲取字符串類型的數據 printf("Name: %s\n", name_str); json_t* age = json_object_get(root, "age"); int age_num = json_integer_value(age); // 獲取整型數據 printf("Age: %d\n", age_num); json_t* score = json_object_get(root, "score"); size_t score_size = json_array_size(score); // 數組類型數據需要使用size_t類型 for (int i = 0; i < score_size; ++i) { json_t* score_item = json_array_get(score, i); printf("Score %d: %d\n", i+1, json_integer_value(score_item)); } json_decref(root); // 刪除JSON對象 return 0; }
以上是一個基本的讀取JSON格式數據的示例代碼。首先需要定義一個JSON格式字符串,然后使用json_loads函數將其解析成JSON對象。接著就可以通過json_object_get函數來獲取相應的鍵值對,并使用相應的函數來轉換數據類型。需要注意的是數組類型的數據需要使用json_array_size和json_array_get函數來處理。
上一篇vue主頁不解析
下一篇python 爬取評價