asp.net-mvc - 如何将 MapJsonSubKey 与 json 数组一起使用
问题描述
我在 MVC 应用程序中使用 oauth2 流。我可以被重定向到提供程序以挑战用户和密码,并且一旦我进行 API 调用,我可以获得用于 API 调用的访问令牌我可以检索信息,但响应是一个包含数组的 JSON 我怎么能使用 MapJsonSubKey 从以下 JSON 映射电子邮件?
{
"ErrorList": null,
"Status": 1,
"UserDetailList": [
{
"Email": "pippo.pluto@xxx.com",
"FirstName": "pippo",
"LastName": "pluto",
"PersonId": "pippo.pluto@xxx.com",
"ProfilePhoto": 1,
"ProfilePhotoPath": null,
"Status": 100,
"Title": null,
"UpdatedDate": "/Date(1561120073327+0000)/",
"UserGUID": "8f643f10-0559-4e34-972d-52f41a4b9fcc",
"UserId": 20,
"UserName": "ca9ba551-9347-45b3-a926-c9bf361252e0"
}
]
}
如果我使用此代码
options.ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier,"Id");
options.ClaimActions.MapJsonKey(ClaimTypes.Name, "Name");
options.ClaimActions.MapJsonKey("urn:infor:status", "Status");
options.ClaimActions.MapJsonSubKey("urn:infor:uname", "UserDetailList[]", "Email");
在cshtml中,我用这个
@User.FindFirst(c => c.Type == "urn:infor:uname")?.Value
我在页面中看不到任何值
解决方案
推荐阅读
- r - Extract the top first row from dataframe in R
- reactjs - 如何用酶、柴测试 HOC
- appium - Appium - 遇到内部错误运行命令:错误:zipAlignApk 失败
- mysql - 如何在一个查询中对 2 个相关表进行排序,这两个表都具有 order 字段
- escaping - 我们应该转义还是不转义 YAML 文件中 HTML 标记中的双引号?
- google-cloud-dataflow - 在 DirectRunner 上运行时,窗口化似乎有效,但在 Cloud Dataflow 上运行时无效
- javascript - 如何获取其值等于 True 的数组的键
- javascript - 如何在 JS 中编辑 JavaScript 变量的 CSS?
- excel - 即使函数返回 False,If 语句也计算为 True
- java - 如何添加?它扩展了 List 中的某个类