C語言讀取JSON檔案
阿新 • • 發佈:2018-11-05
用來讀取json檔案並賦值給物件,使用了cJSON
typedef struct {
cJSON *url;
char path[100];
char app_name[100];
} Enter;
int main(){
FILE *f;//輸入檔案
long len;//檔案長度
char *content;//檔案內容
cJSON *json;//封裝後的json物件
f=fopen("./test.json","rb");
fseek(f,0,SEEK_END);
len=ftell(f);
fseek(f,0 ,SEEK_SET);
content=(char*)malloc(len+1);
fread(content,1,len,f);
fclose(f);
json=cJSON_Parse(content);
if (!json) {
printf("Error before: [%s]\n",cJSON_GetErrorPtr());
}
Enter weixin;
//char *out=cJSON_Print(json);
strcpy(weixin.app_name,cJSON_GetObjectItem(json,"app_name" )->valuestring);
strcpy(weixin.path,cJSON_GetObjectItem(json,"path")->valuestring);
weixin.url=cJSON_GetObjectItem(json,"url");
//列印字串
printf("app_name:%s",weixin.app_name);
//列印字串陣列
int array_size=cJSON_GetArraySize(weixin.url);
cJSON *item;
int i;
for(i=0; i< array_size; i++) {
item = cJSON_GetArrayItem(weixin.url, i);
printf ("%s\n",item->valuestring);
}
retutn 0;
}