JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,其優點在于易于讀取和編寫、易于解析和生成、支持多種語言、易于網絡傳輸等。而在C語言中,通常需要將從網絡或文件中讀入的JSON數據轉換成對象格式才能使用,所以接下來介紹如何使用C語言將JSON格式轉換成對象格式。
#include <stdio.h> #include <jansson.h> int main() { // JSON格式 char *json_str = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; // 創建JSON對象 json_t *root = NULL; json_error_t error; root = json_loads(json_str, 0, &error); // 將JSON對象轉換成對象格式 const char *name = NULL; int age = 0; const char *city = NULL; json_unpack(root, "{s:s, s:i, s:s}", "name", &name, "age", &age, "city", &city); // 打印對象格式 printf("name: %s, age: %d, city: %s\n", name, age, city); // 釋放資源 json_decref(root); return 0; }
上述代碼分為三部分:
- 第一部分定義了需要轉換的JSON格式,即一個包含“name”、“age”和“city”三個屬性的JSON對象。
- 第二部分使用
庫中的函數將JSON字符串轉換成對應的JSON對象。 - 第三部分使用json_unpack函數將JSON對象轉換成對象格式,并打印出來。其中%s表示字符串,%i表示整數。
需要注意的是,在使用JSON對象后,需要使用json_decref函數來釋放資源。
上一篇python 數據框計數
下一篇python 讀取富文本