Skip to main content

allow_core/
json.rs

1pub fn json_escape(input: &str) -> String {
2    let mut out = String::new();
3    for ch in input.chars() {
4        match ch {
5            '\\' => out.push_str("\\\\"),
6            '"' => out.push_str("\\\""),
7            '\n' => out.push_str("\\n"),
8            '\r' => out.push_str("\\r"),
9            '\t' => out.push_str("\\t"),
10            c if c.is_control() => out.push_str(&format!("\\u{:04x}", c as u32)),
11            c => out.push(c),
12        }
13    }
14    out
15}