JSON deserialization - Map array indices to properties with JSON.NET

后端 未结 2 1393
北海茫月
北海茫月 2020-11-29 12:33

I want to deserialize a 2-dimensional array to a collection of .net objects. The reason is, array syntax will be easier for my user to work with in an input file. So I just

2条回答
  •  野性不改
    2020-11-29 13:14

        public override bool CanConvert(Type objectType)
        {
            if (objectType == typeof(List)) return true;
    
            return false;
        }
    
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            List persons = new List();
    
            JArray personsArray = (JArray)serializer.Deserialize(reader);
    
            foreach (var personArray in personsArray.Children())
            {
                persons.Add(new Person() { 
                             First = personArray[0].Value(),
                             Last = personArray[1].Value(),
                             Age = personArray[2].Value()
                            });
            }
    
            return persons;
        }
    

提交回复
热议问题