在C語言中,如何接收J(rèn)son呢?Json(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,它具有良好的可讀性、易于編寫和解析等優(yōu)點(diǎn),得到廣泛應(yīng)用。下面讓我們來看看如何在C語言中接收J(rèn)son。
//1.引入頭文件 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> int main() { //2.定義Json數(shù)據(jù) char *json_string = "{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"}"; json_t *root; json_error_t error; //3.解析Json數(shù)據(jù) root = json_loads(json_string, 0, &error); if(!root) { fprintf(stderr, "Failed to parse JSON: %s\n", error.text); return 1; } //4.獲取Json字段值 json_t *name, *age, *gender; if(json_unpack(root, "{s:s, s:i, s:s}", "name", &name, "age", &age, "gender", &gender) != -1) { printf("name: %s\nage: %d\ngender: %s\n", json_string_value(name), json_integer_value(age), json_string_value(gender)); } //5.釋放Json數(shù)據(jù) json_decref(root); return 0; }
首先需要引入頭文件“<jansson.h>”,然后定義Json數(shù)據(jù)。使用“json_loads”函數(shù)進(jìn)行Json數(shù)據(jù)的解析,如果解析失敗則會(huì)返回錯(cuò)誤信息。使用“json_unpack”函數(shù)獲取Json字段值,使用“json_string_value”和“json_integer_value”函數(shù)獲取Json字符串類型和整數(shù)類型字段值。最后需要釋放Json數(shù)據(jù)。