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

c 讀取json串

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

在C語言中,我們可以通過使用第三方庫或手寫代碼來讀取JSON串。以下是一個手寫的例子:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_JSON_LENGTH 1000
typedef struct{
char key[20];
char value[50];
}Json;
Json* parseJson(char* json_str, int* size);
int main(){
char json_str[MAX_JSON_LENGTH] = "{\"name\":\"Tom\",\"age\":18,\"gender\":\"male\"}";
int size;
Json* json = parseJson(json_str, &size);
printf("Name: %s\n", json[0].value);
printf("Age: %s\n", json[1].value);
printf("Gender: %s\n", json[2].value);
free(json);
return 0;
}
Json* parseJson(char* json_str, int* size){
Json* json = (Json*)malloc(sizeof(Json) * 3);
char* token = strtok(json_str, "\"{},:");
int index = 0;
while(token != NULL){
if(index % 2 == 0){
strcpy(json[index / 2].key, token);
}
else{
strcpy(json[index / 2].value, token);
}
index++;
token = strtok(NULL, "\"{},:");
}
*size = index / 2;
return json;
}

在這個例子中,我們手寫了一個解析JSON串的函數parseJson(),它使用了字符串切割函數strtok()來逐個解析JSON串中的鍵值對,然后將它們存儲在Json結構體數組中返回。在主函數中,我們使用parseJson()函數解析了一個JSON串,然后打印出了它的值。