C語言中可以使用for循環(huán)來獲取JSON字符串中的某一個值,具體操作如下:
#include <stdio.h> #include <string.h> #include <jansson.h> int main() { char *json_string = "{\"name\":\"張三\",\"age\":20}"; json_error_t error; json_t *root = json_loads(json_string, 0, &error); /*通過循環(huán)獲取字符串的某個值*/ const char* key; json_t *value; size_t index; json_array_foreach(root, index, value) { key = json_string_value(json_array_get(root, index)); if(strcmp(key, "name") == 0) { printf("name:%s\n", json_string_value(value)); } } json_decref(root); return 0; }
首先需要引入所需的頭文件,包括stdio.h,string.h和jansson.h。定義一個JSON字符串,并用json_loads()函數(shù)將其轉(zhuǎn)化為一個json_t類型的JSON對象。然后,使用循環(huán)遍歷JSON數(shù)組來獲取需要的值。在循環(huán)內(nèi)部,使用json_array_foreach()函數(shù)來遍歷JSON數(shù)組,獲取key和value的值。使用json_string_value()函數(shù)獲取key的字符串值,再使用strcmp()函數(shù)判斷是否是需要的key(name),如果匹配成功,使用json_string_value()函數(shù)獲取value的字符串值,并打印在控制臺中。最后,使用json_decref()函數(shù)釋放內(nèi)存。