C# – Is it possible to deserialize JSON to List> with JSON.Net


I have a class:

    public class KVPair<TKey, TValue>
        public TKey Key { get; set; }
        public TValue Value { get; set; }

        public KVPair(TKey k, TValue v)
            Key = k;
            Value = v;

that I create:

List<KVPair<string,string>> kvPairs;

Using the JSON.Net library I can serialize the list and yield:


When I de-serialize this string back to List> I get the correct count of objects but they are null. Any suggestions would be great help.

Best Solution

I'm guessing that you might need to add a parameterless constructor:

public KVPair() {

Perhaps JSON.net doesn't know how to construct your object so it silently fails.