欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 怎么讀取json數據格式

錢斌斌2年前10瀏覽0評論

在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函數來處理。