色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c語言json文件解析

錢良釵2年前7瀏覽0評論

JSON(JavaScript Object Notation,JavaScript對象表達式)是一種輕量級的數(shù)據(jù)交換格式。它由Douglas Crockford于2001年創(chuàng)建,可以簡化數(shù)據(jù)的交換和溝通。C語言可以使用第三方庫如cJSON來進行JSON文件的解析。

//cJSON解析JSON文件示例
#include <stdio.h>#include <cjson/cJSON.h>int main()
{
//讀取JSON文件(假設(shè)文件名為sample.json)
FILE *fp = fopen("sample.json", "r");
if(fp == NULL) {
printf("無法打開文件!\n");
return 1;
}
//將文件內(nèi)容讀取到緩沖區(qū)
fseek(fp, 0, SEEK_END);
long len = ftell(fp);
fseek(fp, 0, SEEK_SET);
char buffer[len+1];
fread(buffer, 1, len, fp);
fclose(fp);
buffer[len] = '\0';
//從緩沖區(qū)中解析JSON對象
cJSON *json = cJSON_Parse(buffer);
//獲取JSON對象的成員
cJSON *name = cJSON_GetObjectItemCaseSensitive(json, "name");
cJSON *age = cJSON_GetObjectItemCaseSensitive(json, "age");
cJSON *hobbies = cJSON_GetObjectItemCaseSensitive(json, "hobbies");
//輸出解析結(jié)果
printf("姓名:%s\n年齡:%d\n愛好:\n", name->valuestring, age->valueint);
cJSON *hobby = NULL;
cJSON_ArrayForEach(hobby, hobbies) {
printf("%s\n", hobby->valuestring);
}
//釋放JSON對象
cJSON_Delete(json);
return 0;
}

在上述示例中,我們首先打開JSON文件,將其讀取到緩沖區(qū)中,然后使用cJSON_Parse函數(shù)解析JSON對象。之后,我們可以通過cJSON_GetObjectItemCaseSensitive函數(shù)獲取JSON對象的成員。最后,我們使用cJSON_ArrayForEach函數(shù)遍歷數(shù)組類型的成員(如"hobbies"),并輸出相關(guān)信息。