Fluent-json 是 C# 的 JSON 生成器和解析器,除了支持基本的 JSON 操作,还可以映射自定义类到 JSON 数据格式。这是一个线程安全的库,同时确保强类型安全。
示例代码:
JsonEncoder<Book> encoder = Json.EncoderFor<Book>(config => config .MapType<Book>(map => map .AllFields() // DateTime can't be encoded to native json. Conversion is required. .Field<DateTime>(field => field.pubDate, pubDate => pubDate .EncodeAs<string>(value => value.ToShortDateString()) ) // BookType can't be encoded either, let's convert it too. .Field<BookType>(field => field.type, type => type .EncodeAs<int>(value => (int)value) // Lets assume we would want to encode this field to a // different json field. .To("book_type") ) ) .MapType<Author>(map => map .AllFields() ) .UseTidy(true) ); Book book = new Book(); book.title = "Around the world in 80 days"; book.tags = new List<string> { "traveling", "adventure" }; book.pageCount = 342; book.pubDate = DateTime.Now; book.author = new Author(); book.author.forname = "Jules"; book.author.surname = "Verne"; string json = encoder.Encode(book);