欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c json文件 增刪改查

劉柏宏2年前12瀏覽0評論

C語言中操作JSON文件是一個常見的任務,所以理解如何進行JSON文件的增刪改查操作是很重要的。

JSON是一種輕量級的數據交換格式,由于清晰簡單的數據結構和易于理解的文本格式,它在現代應用程序中得到廣泛的應用。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<jansson.h>
int main(){
// 從文件中讀取JSON數據
char fileName[] = "example.json";
FILE *fp;
char str[strlen(fileName)+5];
sprintf(str,"{%s}",fileName);
fp = fopen(str,"r");
if(fp == NULL){
printf("無法打開文件\n");
return -1;
}
fseek(fp,0L,SEEK_END);
int fsize = ftell(fp);
fseek(fp,0L,SEEK_SET);
char *readBuffer = (char*)malloc(fsize+1);
int bytes_read = fread(readBuffer,1,fsize,fp);
readBuffer[bytes_read] = '\0';
fclose(fp);
// 解析JSON數據
json_t *root;
json_error_t error;
root = json_loads(readBuffer, 0, &error);
if(!root){
fprintf(stderr, "error (line %d): %s\n", error.line, error.text);
return -1;
}
// 新增JSON對象
json_t *newObject = json_object();
json_t *newString = json_string("new value");
json_object_set(newObject, "new key", newString);
json_object_set(root, "new object", newObject);
// 刪除JSON對象
json_object_del(root,"delete key");
// 修改JSON對象
json_t * modifyObject = json_object_get(root,"modify key");
json_object_set(modifyObject,"modify inner key",json_integer(123));
// 查詢JSON對象
json_t *getObj = json_object_get(root,"get key");
char* getValue = json_string_value(getObj);
// 輸出修改后的JSON內容
char *dumpStr = json_dumps(root,JSON_INDENT(2));
printf("New JSON object:\n%s\n", dumpStr);
// 釋放內存
free(dumpStr);
json_decref(root);
return 0;
 }

上面的代碼展示了如何在C語言中對JSON文件進行操作。它包括了從文件中讀取JSON數據、解析JSON數據、增加、刪除、修改、查詢JSON對象以及輸出修改后的JSON內容等操作。理解這些操作對于更好地操作JSON文件將非常有幫助。