c json特殊字符轉義簡介
在c json中,對于一些特殊字符需要進行轉義,才能被正確的解析。下面是一些常見的需要轉義的特殊字符以及轉義方式: 字符 轉義方式 " \" \ \\ / \/ \b \\b \f \\f \n \\n \r \\r \t \\t
注意事項
1. 需要注意的是,在json字符串中,只有引號(")、反斜杠(\)、正斜杠(/)需要轉義。 2. 除了上述三個字符,其它特殊字符,例如退格、換行等,也需要轉義。 3. 轉義字符必須使用反斜杠(\)進行轉義。 4. 在使用c json解析json字符串時,如果json字符串中的特殊字符沒有進行轉義,可能會導致解析出錯。
代碼示例
char* json_str = "{\"name\":\"tom\",\"age\":20,\"address\":\"beijing road, shanghai\"}"; char* escape_str = "{\"name\":\"tom\",\"age\":20,\"address\":\"beijing\\n road, shanghai\"}"; cJSON* json = cJSON_Parse(json_str); // 正常解析 cJSON* escape_json = cJSON_Parse(escape_str); // 轉義字符解析 printf("name: %s, age: %d, address: %s\n", json->child->string, json->child->valueint, json->child->next->valuestring); printf("name: %s, age: %d, address: %s\n", escape_json->child->string, escape_json->child->valueint, escape_json->child->next->valuestring); // 輸出結果: // name: tom, age: 20, address: beijing road, shanghai // name: tom, age: 20, address: beijing // road, shanghai