小编Sam*_*her的帖子

使用自动修剪字符串反序列化json

我使用Newtonsoft.Json库

有没有办法在反序列化期间修剪任何字符串数据的空格?

class Program
{
    class Person
    {
        [JsonProperty("name")]
        public string Name;
    }
    static void Main(string[] args)
    {
        var p = JsonConvert.DeserializeObject<Person>(@"{ name: "" John "" }");
        Console.WriteLine("Name is: \"{0}\"", p.Name);
    }
}
Run Code Online (Sandbox Code Playgroud)

添加:

最后,我有自定义转换器的解决方案.不好,但比Trim()更好.

如果有人有任何想法如何以更自然的方式做,请欢迎.

class Program
{
    sealed class TrimAttribute : Attribute
    { }

    class TrimConverter<T> : JsonConverter where T : new()
    {
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
        }

        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            var jObject …
Run Code Online (Sandbox Code Playgroud)

c# json.net deserialization

12
推荐指数
2
解决办法
7583
查看次数

标签 统计

c# ×1

deserialization ×1

json.net ×1