在C語言中操作JSON格式數據是非常常見的,特別是在與網絡相關的程序中。為了方便傳輸數據,使用JSON格式將參數寫入程序中是非常方便的。
#include <stdio.h> #include <string.h> #include <stdbool.h> #include <jansson.h> void main(void){ char* json_str = "{ \"name\":\"小明\", \"age\":18, \"score\":60 }"; json_error_t error; json_t* json_root = json_loads(json_str, 0, &error); if (json_root == NULL) { printf("解析JSON字符串出錯\n"); return; } if (!json_is_object(json_root)) { printf("JSON字符串不是Object類型\n"); return; } json_t* json_name = json_object_get(json_root, "name"); if (json_is_string(json_name)) { printf("Name:%s \n", json_string_value(json_name)); } json_t* json_age = json_object_get(json_root, "age"); if (json_is_number(json_age)) { printf("Age:%d \n", json_integer_value(json_age)); } json_t* json_score = json_object_get(json_root, "score"); if (json_is_number(json_score)) { printf("Score:%d \n", json_integer_value(json_score)); } json_decref(json_root); }
在這個例子中,我們使用了jansson庫來解析JSON格式的參數。首先,將JSON字符串作為參數傳入程序中。程序解析JSON字符串后,將其轉化為JSON對象存儲在json_root指針中。然后,我們使用json_is_object函數判斷json_root是否為JSON對象。如果不是JSON對象,則程序將終止。接下來,使用json_object_get函數獲取JSON對象中的name、age和score屬性,并使用json_is_string和json_integer_value函數將其轉化為對應的字符串和整型。
總之,使用JSON格式的參數非常方便和高效,可以幫助我們更好地處理與網絡相關的程序。
上一篇python 清空剪切板
下一篇python 清空空格