从JsonResult获取数据
本文关键字:数据 获取 JsonResult | 更新日期: 2023-09-27 17:58:14
代码位于ASP.NET Core中。MVC控制器返回Json(someData)。我正在尝试检索单元测试中的数据。我能做的最好的事情就是拥有
string data = JsonConvert.SerializeObject(jsonResult.Value);
然后比较字符串。但我更希望得到一个对象或数组,以便能够进行一些更具体的比较。有趣的是,在调试器下,我可以看到jsonResult.Value
的类型是Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable<MyType>
,甚至还有Results View警告不要扩展它,否则;如果我扩展它,我就能得到我想要的!在我的例子中,它是一个MyType
对象的4元素数组。然而,如果我做了类似from i in jsonResult.Value select i
的事情,我会得到一个错误
Could not find an implementation of the query pattern for source type 'object'.
'Select' not found
我希望有比比较JSON字符串更好的方法!
尝试使用Cast方法
(from i in jsonResult.Value.Cast<MyType>() select i)
编辑:更新答案
from i in ((IQueryable< MyType >)js.Value) select i