繁体   English   中英

易于使用的强类型JSON库用于C#

[英]Easy to use strongly-typed JSON library for C#

我需要一个易于设置的C#.NET JSON库,该库可以与强类型的列表和字典一起很好地工作。 我一直在使用fastJSON ,它轻巧且可移植。 但是,方法ToJSONToObject并不总是与强类型对象(例如List<string> 我需要一个可以正确执行以下操作的简单库:

// parse a JSON file
List<string> names = JSON.parse<List<string>>(json1);
Dictionary<string, int> ids = JSON.parse<Dictionary<string, int>>(json);

// stringify an object
string json = JSON.stringify(names);
string json = JSON.stringify(ids);

显然,理想的库应该是快速的(足够快以扩展到数百MB的JSON),并且可移植(小的代码,没有依赖性),但不要大惊小怪。 我现在很绝望,所以一切正常。

http://james.newtonking.com/projects/json-net.aspx是通常的答案,但还有更多答案。

        List<string> names = new List<string>() {"Mike","Joe","Jane"};
        Dictionary<string, int> ids = new Dictionary<string, int>()
                                          {
                                              {"Mike",1},
                                              {"Joe",2},
                                              {"Jane",3},
                                          };

        // ["Mike","Joe","Jane"]
        string nameJson = Newtonsoft.Json.JsonConvert.SerializeObject(names);

        //{"Mike":1,"Joe":2,"Jane":3}
        string idsJSon = Newtonsoft.Json.JsonConvert.SerializeObject(ids);

检查ServiceStack.Text: https : //github.com/ServiceStack/ServiceStack.Text

我已经在几个项目中使用过它,而且效果还不错。

从维基页面:

ServiceStack.Text是一个独立的,无依赖性的序列化库,其中包含ServiceStack的所有文本处理功能,包括:

 JsonSerializer TypeSerializer (JSV-Format) CsvSerializer T.Dump extension method StringExtensions - Xml/Json/Csv/Url encoding, BaseConvert, Rot13, Hex escape, etc. Stream, Reflection, List, DateTime, etc extensions and utils 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM