c# - 如何在c#中将json字符串转换为匿名类型?
问题描述
我正在使用图书馆handlebars.net。https://github.com/rexm/Handlebars.Net
它采用模板字符串和匿名类型,并使模板填充匿名类型值。这是一个例子:
string source =
@"<div class=""entry"">
<h1>{{title}}</h1>
<div class=""body"">
{{body}}
</div>
</div>";
var template = Handlebars.Compile(source);
var data = new {
title = "My new post",
body = "This is my first post!"
};
var result = template(data);
/* Would render:
<div class="entry">
<h1>My New Post</h1>
<div class="body">
This is my first post!
</div>
</div>
*/
就我而言,我有一个 json 文件,我想从中读取并将其用作匿名类型。如果我使用像 newtonsoft 这样的 json 解析器,我会得到一个 JSONObject 类型的变量,它适用于基本值,但如果我使用数组,它会引发关于无法将 JArray 转换为 String 的严格要求。
所以我的问题是,有没有办法将 json 文件转换为匿名类型?
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/anonymous-types
谢谢
解决方案
考虑使用 ServiceStack 的动态 API 来反序列化任意 JSON。
https://github.com/ServiceStack/ServiceStack.Text#supports-dynamic-json
推荐阅读
- python - 使用 Python 3 在文件夹之间移动文件
- angular - 将参数传递给子组件 Angular
- node.js - 使用 SQL Server Nodejs JSON 格式 OK 但是 angular 6 不显示?
- python - python局部变量-我什么时候必须赋值?
- android - Google Place API SDK 国家/地区代码 - 如何?
- timer - 在 lua 中是否有一个库可以执行“setTimeout”?
- sql - PostgreSQL 将数据聚合成单行
- amazon-web-services - AWS API Gateway - 无法使用外部 HTTPS 端点信任的 CA 签名客户端证书
- sql - 如果连接表有 2 列或更多列,则更新表的字段
- c# - 使用相同对象生成校验和时发生更改