ope*_*sas 11 c# json .net-core asp.net-core .net-core-2.0
我有一个具有以下结构的json字符串
{
"resource": "user",
"method": "create",
"fields": {
"name": "John",
"surname: "Smith",
"email": "john@gmail.com"
}
}
Run Code Online (Sandbox Code Playgroud)
字段内的键是可变的,这意味着我事先不知道它们
因此,我不需要将json字符串反序列化为对象,而是需要遍历json,以便获取Dictionary中字段内的属性或类似的东西.
我听说过Json.NET库,它能够解析动态jsons,但我不确定它是否已经包含在net-core中了.
在net-core 2.0中实现这一目标的标准/最简单方法是什么?代码示例将不胜感激.
Jay*_*aya 25
是.您可以将Newtonsoft.json包添加到.net核心项目中.要查询动态json对象,可以使用JObject库提供的对象将json解析为动态对象.这是该文档的链接.
鉴于你的json样本,它可能看起来像这样
var resource = JObject.Parse(json);
foreach (var property in resource.fields.Properties())
{
Console.WriteLine("{0} - {1}", property.Name, property.Value);
}
Run Code Online (Sandbox Code Playgroud)
序列化.NET对象时,Json.NET是首选库。但是,如果对象的结构不是静态的,则System.Json命名空间中的API将更易于使用。通过从NuGet安装程序包,可以在.NET Core 2.0中使用System.Json,如下所示:
dotnet add package System.Json --version 4.4.0
Run Code Online (Sandbox Code Playgroud)
这是一个很好的教程,说明如何使用System.Json命名空间中的API:在.NET中使用JSON – Silverlight示例
| 归档时间: |
|
| 查看次数: |
30019 次 |
| 最近记录: |