C語(yǔ)言是一種非常常用的編程語(yǔ)言,這里介紹一下如何使用C語(yǔ)言接收J(rèn)SON字符串并進(jìn)行處理。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main() {
char *json_string = "{\"name\":\"John Smith\",\"age\":32,\"gender\":\"male\"}";
json_t *root;
json_error_t error;
root = json_loads(json_string, 0, &error); // 將JSON字符串轉(zhuǎn)換為JSON對(duì)象
if (!root) {
printf("error: on line %d: %s\n", error.line, error.text); // 處理錯(cuò)誤
return 1;
}
const char *name = json_string_value(json_object_get(root, "name")); // 獲取JSON對(duì)象的值
int age = json_integer_value(json_object_get(root, "age"));
const char *gender = json_string_value(json_object_get(root, "gender"));
printf("Name: %s\nAge: %d\nGender: %s\n", name, age, gender); // 輸出值
json_decref(root); // 釋放JSON對(duì)象的內(nèi)存
return 0;
}
以上代碼演示了如何接收J(rèn)SON字符串,并將其轉(zhuǎn)換為JSON對(duì)象,并通過(guò)獲取JSON對(duì)象中的值來(lái)進(jìn)行處理。我們可以使用jansson庫(kù)來(lái)進(jìn)行JSON字符串和JSON對(duì)象的轉(zhuǎn)換。在json_loads函數(shù)中,第三個(gè)參數(shù)是一個(gè)指向json_error_t的指針,如果轉(zhuǎn)換失敗,該函數(shù)會(huì)將錯(cuò)誤信息存儲(chǔ)在json_error_t結(jié)構(gòu)體中。
在處理JSON對(duì)象時(shí),我們可以使用json_string_value和json_integer_value來(lái)獲取JSON對(duì)象的字符串和整數(shù)值。
最后,我們需要記得釋放JSON對(duì)象的內(nèi)存,以避免內(nèi)存泄漏。
上一篇c 接口訪回json
下一篇python 的傳值