【发布时间】:2021-08-31 15:39:07
【问题描述】:
use serde_json::json; // 1.0.66
use std::str;
fn main() {
let input = "{\"a\": \"b\\u001fc\"}";
let bytes = input.as_bytes();
let json: serde_json::Value = serde_json::from_slice(bytes).unwrap();
for (_k, v) in json.as_object().unwrap() {
let vec = serde_json::to_vec(v).unwrap();
let utf8_str = str::from_utf8(&vec).unwrap();
println!("value: {}", v);
println!("utf8_str: {}", utf8_str);
println!("bytes: {:?}", vec);
}
}
对象键"a"的值如何转化为如下字符串?
b\u{1f}c
我尝试过使用serde_json 和str::from_utf8,但结果总是得到"b\u001fc"。转义字符序列未正确解释。如何解决?
【问题讨论】:
标签: rust unicode escaping serde-json