【发布时间】:2018-02-09 23:37:00
【问题描述】:
我有一本这样的字典:
var dict1 = new Dictionary<(int, int), int);
dict1.add((1,2), 3);
使用以下方法将其序列化为字符串:
var s = JsonConvert.SerializeObject(dict1);
// s = "{\"(1,2)\":\"3\"}";
当尝试反序列化字符串时:
var j = JsonConvert.DeserializeObject<Dictionary<(int, int), int>>(s);
我收到如下错误:
'无法将字符串'(1,2)' 转换为字典键类型'System.ValueTuple`2[System.Int32,System.Int32]'。创建一个 TypeConverter 将字符串转换为键类型对象。
如何将我的字符串反序列化为元组键?使用自定义对象或TypeConverter?如果有,怎么做?
【问题讨论】:
-
我解决了,请看这个链接[解决序列化字典的问题](stackoverflow.com/a/64736972/8213225)
标签: c# .net serialization