C語言中的JSON語法格式化輸出,可以使用引號轉義字符。
#include <stdio.h> #include <cjson/cJSON.h> int main() { cJSON *json = cJSON_CreateObject(); //創建一個JSON對象 cJSON_AddStringToObject(json, "name", "Tom"); cJSON_AddNumberToObject(json, "age", 22); cJSON_AddStringToObject(json, "gender", "male"); char *jsonStr = cJSON_Print(json); //將JSON對象轉化為字符串 printf("轉化后的JSON字符串為:\n%s\n", jsonStr); cJSON_Delete(json); //釋放JSON對象內存 return 0; }
在上述代碼中,可以看到cJSON庫中的cJSON_Print()函數可以將JSON對象轉化為字符串。在輸出字符串時,JSON的某些特殊符號需要進行轉義,其中就包括雙引號。
例如,如果想要在JSON字符串中添加一個鍵值對 "name":"Tom",需要使用引號將鍵和值包起來,但由于這個字符串已經在雙引號內,所以需要對其中的雙引號進行轉義。代碼中的cJSON_AddStringToObject()函數就已經幫我們完成這個操作了。
引號轉義字符為\,所以在cJSON_AddStringToObject()函數的第二個參數中,輸入的字符串為"\"Tom\"",其中的雙引號使用轉義字符進行轉義。最終生成的字符串為:
{ "name":"Tom", "age":22, "gender":"male" }
在使用cJSON庫時,需要注意JSON字符串中特殊字符的轉義,避免出現語法錯誤。