C格式化JSON格式是指將JSON對象格式化為易于閱讀和理解的方式,方便調試和開發人員處理和編輯JSON數據。在C語言中,有多種方法實現JSON格式化,常用的有以下三種:
/* 方法一: 使用C庫中的printf()函數 */ json_object *jobj = json_object_new_object(); json_object_object_add(jobj, "name", json_object_new_string("John")); json_object_object_add(jobj, "age", json_object_new_int(30)); printf("Formatted JSON: %s\n", json_object_to_json_string_ext(jobj, JSON_C_TO_STRING_PRETTY)); /* 方法二: 使用C庫中的snprintf()函數 */ char *json_str = NULL; json_str = json_object_to_json_string_ext(jobj, JSON_C_TO_STRING_PRETTY); if (json_str == NULL) { fprintf(stderr, "Error: Failed to format JSON.\n"); return -1; } char buf[1024]; snprintf(buf, sizeof(buf), "Formatted JSON:\n%s", json_str); printf("%s\n", buf); /* 方法三: 使用C庫中的fprintf()函數 */ FILE *fp = fopen("output.json", "w"); if (fp == NULL) { fprintf(stderr, "Error: Failed to open output file.\n"); return -1; } json_object_to_file_ext("output.json", jobj, JSON_C_TO_STRING_PRETTY); fprintf(fp, "Formatted JSON:\n"); json_object_fprintf(fp, jobj, JSON_C_TO_STRING_PRETTY); fclose(fp);
以上三種方法都可以將JSON對象格式化為易于閱讀和理解的方式。但是需要注意的是,有些函數在Windows系統上可能需要另外安裝或編譯才能使用。