C語言是一種非常常用的編程語言,而解析XML和JSON數據類型也是非常常見的操作,這里就來介紹一下如何在C語言中解析XML格式的JSON數據類型。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main(void) { char* json_string = "{ \"name\":\"John\", \"age\":30, \"car\":null }"; json_error_t error; json_t* root = json_loads(json_string, 0, &error); if (root == NULL) { fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } const char* name; json_t* age, * car; int age_value; json_unpack(root, "{s:s,s:i,s:o}", "name", &name, "age", &age, "car", &car); age_value = json_number_value(age); printf("name: %s\n", name); printf("age: %d\n", age_value); printf("car: %s\n", json_is_null(car) ? "null" : json_string_value(car)); json_decref(root); return 0; }
代碼解析:
1. 引入頭文件:
#include <jansson.h>
jansson.h是一個流行的C語言JSON處理庫。
2. 創建JSON字符串:
char* json_string = "{ \"name\":\"John\", \"age\":30, \"car\":null }";
這是一個簡單的JSON字符串,包括三個鍵值對,“name”是字符串類型,“age”是整數類型,“car”是空值類型。
3. 解析JSON字符串:
json_t* root = json_loads(json_string, 0, &error);
使用json_loads函數將JSON字符串轉換為JSON對象(稱為根),并在需要時返回相應的錯誤。
4. 從JSON對象中提取數據:
json_unpack(root, "{s:s,s:i,s:o}", "name", &name, "age", &age, "car", &car);
使用json_unpack函數從JSON對象中提取相應的數據。
5. 輸出結果:
printf("name: %s\n", name); printf("age: %d\n", age_value); printf("car: %s\n", json_is_null(car) ? "null" : json_string_value(car));
將從JSON對象中提取的數據輸出到控制臺。
上一篇vue2.0 篩選