代码之家  ›  专栏  ›  技术社区  ›  David Robbins

是否可以用json.net反序列化json以列出<myObject<t,k>>

  •  3
  • David Robbins  · 技术社区  · 15 年前

    我有一堂课:

    [Serializable]
        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;
            }
        }    
    

    我创造的:

    List<KVPair<string,string>> kvPairs;
    

    使用json.net库,我可以序列化列表并生成:

    "[{\"Key\":\"Two\",\"Value\":\"2\"},{\"Key\":\"One\",\"Value\":\"1\"}]"
    

    当我将此字符串反序列化回列表>时,会得到正确的对象计数,但它们为空。任何建议都会很有帮助。

    1 回复  |  直到 14 年前
        1
  •  4
  •   Eilon    15 年前

    我猜您可能需要添加一个无参数构造函数:

    public KVPair() {
    }
    

    也许json.net不知道如何构造对象,所以它会悄悄地失败。