首页 新闻 会员 周边 捐助

如何让 System.Text.Json 不对双引号进行编码

0
悬赏园豆:30 [已解决问题] 解决于 2022-08-13 14:33

比如下面的 json 序列化代码

var json = JsonSerializer.Serialize(new { payload = new { paramStr = "{\"page\":1,\"pageSize\":10}" } });
Console.WriteLine(json);

时间输出是

{"payload":{"paramStr":"{\u0022page\u0022:1,\u0022pageSize\u0022:10}"}}

期望的输出是

{"payload":{"paramStr":"{\"page\":1,\"pageSize\":10}"}}

请问如何实现?

dudu的主页 dudu | 高人七级 | 园豆:29568
提问于:2022-08-13 13:57
< >
分享
最佳答案
0

通过 JavaScriptEncoder.UnsafeRelaxedJsonEscaping 解决了

var json = JsonSerializer.Serialize(
    new { payload = new { paramStr = "{\"page\":1,\"pageSize\":10}" } },
    new JsonSerializerOptions { Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping }
    );
Console.WriteLine(json);
dudu | 高人七级 |园豆:29568 | 2022-08-13 14:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册