C JSON解析屬性是使用C語(yǔ)言處理JSON數(shù)據(jù)的一種方法。JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,通常用于Web服務(wù)之間以及Web應(yīng)用程序和服務(wù)器之間的數(shù)據(jù)交換。
C JSON解析屬性使用了一個(gè)叫做JSON-C的庫(kù)。使用該庫(kù),C程序可以輕松解析JSON數(shù)據(jù)并從中提取出所需的信息。
#include <stdio.h> #include <stdlib.h> #include <json-c/json.h> int main() { char *json_string = "{ \"name\": \"John Smith\", \"age\": 36, \"isEmployed\": true }"; json_object *jobj = json_tokener_parse(json_string); json_object *name, *age, *isEmployed; json_object_object_get_ex(jobj, "name", &name); json_object_object_get_ex(jobj, "age", &age); json_object_object_get_ex(jobj, "isEmployed", &isEmployed); printf("Name: %s\n", json_object_get_string(name)); printf("Age: %d\n", json_object_get_int(age)); printf("Is Employed: %s\n", json_object_get_boolean(isEmployed) ? "true" : "false"); json_object_put(jobj); return 0; }
在上面的代碼中,首先我們將一個(gè)JSON字符串賦值給指針變量“json_string”。然后,我們使用“json_tokener_parse”函數(shù)將該字符串轉(zhuǎn)換為一個(gè)json對(duì)象“jobj”,以便C程序可以處理它。
接下來(lái),我們通過(guò)使用“json_object_object_get_ex”函數(shù)從JSON對(duì)象“jobj”中提取出我們需要的三個(gè)屬性:name,age和isEmployed。這些屬性都是json對(duì)象。
最后,我們使用“json_object_get_string”,“json_object_get_int”和“json_object_get_boolean”函數(shù)分別獲取屬性的值并將它們打印到控制臺(tái)上。
最后,我們使用“json_object_put”函數(shù)釋放JSON對(duì)象的內(nèi)存,避免內(nèi)存泄漏。