一尘不染

如何在C#中将字典转换为JSON字符串?

c#

我想将其转换Dictionary<int,List<int>>为JSON字符串。有谁知道如何在C#中实现这一目标?


阅读 365

收藏
2020-05-19

共1个答案

一尘不染

序列化 仅包含数字或布尔值的 数据结构非常简单。如果没有太多要序列化的内容,则可以为您的特定类型编写一个方法。

对于Dictionary<int, List<int>>您指定的a,可以使用Linq:

string MyDictionaryToJson(Dictionary<int, List<int>> dict)
{
    var entries = dict.Select(d =>
        string.Format("\"{0}\": [{1}]", d.Key, string.Join(",", d.Value)));
    return "{" + string.Join(",", entries) + "}";
}

但是,如果您要序列化几个不同的类,或更复杂的数据结构, 或者特别是如果您的数据包含字符串值
,则最好使用一个知名的JSON库,该库已经知道如何处理转义字符和换行符。
Json.NET是一个流行的选项。

2020-05-19