在C語言開發中,處理JSON數據是非常常見的任務。我們需要將C語言中的數據轉換成JSON格式的字符串。下面介紹如何使用C語言拼接JSON字符串。
//定義一個JSON字符串 char json_str[1024]; memset(json_str, 0, 1024); //拼裝JSON數據 sprintf(json_str, "{\n"); strcat(json_str, " \"name\": \"張三\",\n"); strcat(json_str, " \"age\": 18,\n"); strcat(json_str, " \"gender\": \"男\"\n"); strcat(json_str, "}");
在上面的例子中,我們使用sprintf和strcat函數來拼接JSON字符串。首先定義一個長度為1024的字符數組來存儲JSON字符串,然后使用sprintf函數將“{\n”寫入json_str。接著使用strcat函數將鍵值對寫入json_str,并在鍵值對之間加入逗號,最后加上“}”結束JSON字符串。
如果我們想要在JSON字符串中嵌套一個數組,代碼如下:
//定義一個數組 int scores[] = {80, 90, 85}; //拼裝JSON數據 sprintf(json_str, "{\n"); strcat(json_str, " \"name\": \"張三\",\n"); strcat(json_str, " \"scores\": [\n"); int i; for(i = 0; i< sizeof(scores)/sizeof(int); i++){ if(i == sizeof(scores)/sizeof(int) - 1){ sprintf(json_str+strlen(json_str), " %d\n", scores[i]); }else{ sprintf(json_str+strlen(json_str), " %d,\n", scores[i]); } } strcat(json_str, " ]\n"); strcat(json_str, "}");
在這個例子中,我們首先定義一個整型數組scores,然后在JSON數據中使用鍵名“scores”,將該數組作為值嵌入JSON中。我們使用for循環遍歷整型數組scores,然后將數組中的每一個元素寫入JSON數組中。最后,我們在JSON數組最后加上“]”,結束該數組的寫入。