首页新闻找找看学习计划

.NET Core 3.0 中使用 System.Text.Json 序列化中文时的编码问题

0
悬赏园豆:30 [待解决问题]

使用下面的代码进行 json 序列化

class Program
{
    static void Main(string[] args)
    {
        var json = JsonSerializer.ToString(new { title = "代码改变世界" } );
        Console.WriteLine(json);
    }
}

输出的中文被编码了

{"title":"\u4ee3\u7801\u6539\u53d8\u4e16\u754c"}

请问如何让中文不被编码?

问题补充:

github 上的相关 issue :Utf8JsonWriter.WriteString do not honor escape=false

dudu的主页 dudu | 高人七级 | 园豆:40762
提问于:2019-05-14 21:45
< >
分享
所有回答(2)
0

https://github.com/dotnet/corefx/blob/master/src/System.Text.Json/docs/SerializerProgrammingModel.md

The JsonIgnore attribute specifies that the property is not serialized or deserialized.

[JsonIgnore] public DateTime? BirthDay { get; set; }

这个属性吗

BUTTERAPPLE | 园豆:2767 (老鸟四级) | 2019-05-14 22:15

[JsonIgnore] 是不对指定的属性进行序列化,我想要的效果是

{"title":"代码改变世界"}
支持(0) 反对(0) dudu | 园豆:40762 (高人七级) | 2019-05-14 22:21
0

JsonConvert.SerializeObject

二五六七是我的代号 | 园豆:210 (菜鸟二级) | 2019-05-15 10:14

这是 Json.NET 中才有的

支持(0) 反对(0) dudu | 园豆:40762 (高人七级) | 2019-05-15 10:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册