【发布时间】:2018-10-03 09:19:10
【问题描述】:
JSON
{
"count": 3,
"value": [
{
"id": "AAAAAAAAAAAAA",
"description": "test1",
"name": "name1"
},
{
"id": "BBBBBBBBBB",
"description": "test2",
"name": "name2"
},
{
"id": "CCCCCCCCCCCC",
"description": "test3",
"name": "name3"
}
]
}
我的解决方案中有一个从 LIST api 检索并提供上面 JSON 的代码。
如何使用 LINQ 检索特定值? (例如)我需要选择name1,我会得到id,description,name 值。
我在我的代码中使用了dynamic 变量:
dynamic json = JObject.Parse(client.GetString().Result);
在过去的几个小时里,我一直在修改其他在线指南。但是,无法得到正确的结果。
请帮忙。
【问题讨论】:
-
你为什么在这里使用
dynamic?既然您已经知道 JSON 的结构,那么您应该为它创建一个类型。 -
我使用动态来缩短代码行并使用核心。但我对此还是陌生的。我只会使用一次值,CMIIW,所以我认为制作另一个对象不好?
-
我从未见过任何人使用
dynamic缩短代码行 -
@Hexxed :是的,在这种情况下你不应该使用
dynamic,并在这里创建一个合适的类型。对于像 C# 这样的强类型语言,这就是要走的路。在语言中添加dynamic背后的基本原理是允许调用可能返回不确定的结构/类型,例如对外部 DLL/COM 事物的调用。只有当你真的被卡住时才想使用它。 -
我同意@Pac0,这里没有必要使用动态,因为你已经知道了json字符串的结构。除非您有充分的理由这样做,否则不要使用动态。检查Advantages and Disadvantages of C# 4.0 'dynamic' keyword?
标签: c# json linq asp.net-core linq-to-json