serde_json::to_writer_pretty 可以用制表符缩进而不是 2 个空格吗?

问题描述 投票:0回答:1

serde_json::to_writer_pretty
可以用制表符缩进而不是2个空格吗?

    let file = std::fs::File::create(&path).expect("Failed to create json file");
    let mut w = BufWriter::new(file);
    serde_json::to_writer_pretty(&mut w, &data).expect("Failed to write to json file");

我如何告诉

serde_json::to_writer_pretty
使用选项卡,或者还有其他方法吗?

我有一个不同的工具生成带选项卡的 JSON,所以我想使用选项卡来区分文件。

rust serde
1个回答
0
投票

您需要使用

PrettyFormatter::with_indent
Serializer::with_formatter

let tabs_pretty = serde_json::ser::PrettyFormatter::with_indent(b"\t");
let mut ser = serde_json::Serializer::with_formatter(&mut w, tabs_pretty);
serde::Serialize::serialize(&data, &mut ser).expect("Failed to write to json file");
© www.soinside.com 2019 - 2024. All rights reserved.