Fluent-jsonC# 的 JSON 生成器和解析器

联合创作 · 2023-09-21 21:33

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);
浏览 28
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报