c# - 无法在 c# 中访问 jObject 令牌
问题描述
我有以下名为'originalJson'的json
{
"user_active": true,
"user_firstname": "Bob",
"user_lastname": "Tester",
"user_displayname": "Bobby",
"user_primary_email": "bob@tester.com",
"user_login_enabled": true,
"user_profile": {
"user_locale": "en-gb",
"user_lang": "en-gb"
},
"user_identities": [],
"user_roles": [
{
"app_id": "74a019c9-7171-4af0-a773-3984edaa35ca",
"context_uuid": "74a019c9-7171-4af0-a773-3984edaa35ca",
"context_type": "context_application",
"role_oid": "test_role_a",
"role_start_date": "2020-06-27T13:00:00Z",
"role_end_date": "2021-06-27T13:00:00Z"
}
]
}
我正在尝试替换 role_start_date 和 role_end_date 值。
我试过以下
JObject jObj = JObject.Parse(originalJson);
jObj["user_roles"]["role_start_date"] = somenewstartDate;
jObj["user_roles"]["role_end_date"] = somenewendDate;
但是它失败了并且不喜欢“jObj[”user_roles”][“role_start_date”]”。我认为这很简单,我一定错过了一些东西。
有任何想法吗?
解决方案
该属性"user_roles"
是一个对象数组,而不是单个对象。您正在尝试在该数组的第一个条目中设置属性值,因此您需要执行以下操作:
jObj["user_roles"][0]["role_start_date"] = somenewstartDate;
jObj["user_roles"][0]["role_end_date"] = somenewendDate;
推荐阅读
- django - 如何在 Django REST Framwork Serializer GET 返回中添加附加字段
- .htaccess - 禁止标题页 robots.txt
- azure - 使用来自“jwks_uri”端点的值验证从 azure ad b2c 收到的令牌
- java - 有没有办法在 Eclipse 中获取当前活动的向导?
- reactjs - React state 和 React useEffect 的区别
- javascript - JavaScript 查找单词最多的句子
- c++ - 为什么使用 getline 从标准输入获取大量输入会截断我的输入?
- google-bigquery - 有什么方法可以在 BigQuery 标准 SQL 脚本中遍历数据集中的所有表?
- linux - 无法在 jenkins linux 上运行 selenium
- symfony - Doctrine - 如何初始化 DB 值