在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串,然后打印出了它的值。
上一篇html怎么讓代碼無效
下一篇MySQL去掉小數點函數