【发布时间】:2026-01-31 07:05:02
【问题描述】:
我有以下名为“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_end_date 值替换为空值“”。 我尝试将其更改为 DateTime?但后来我无法将 jobject 值转换为正确的格式字符串。 我已经尝试了以下
DateTime roleendDate = DateTime.Now;
var emptyDate = roleendDate.ToString();
emptyDate = null;
roleendDate = Convert.ToDateTime(emptyDate);
JObject jObj = JObject.Parse(originalJson);
jObj["user_roles"][0]["role_end_date"] = null;
string updatedJson = jObj.ToString(Formatting.None);
但是它失败了并且不喜欢 "jObj["user_roles"]["role_end_date"]" 因为它是 DateTime 类型而不是 DateTime?。我
有什么想法吗?
【问题讨论】:
-
I am trying to replace the role_end_date value with an empty value ""..你是吗?您显示的代码似乎没有尝试这样做。它似乎尝试使用endDate...的值填充该值,该变量未在您显示的代码的 sn-p 中定义。此外,您不想填充""而只是将其设为空。 -
I have tried changing it to a DateTime?...it是什么?请准确,这样我们就不必推断您的意思。 -
However it is failing and doesn't like...再次,请准确。如果出现错误,请准确告诉我们错误消息的内容以及引发错误的代码行。编程是关于精度和细节的。对问题的模糊描述只会让问题更难解决。 -
抱歉,是的,我现在已经找到了一个解决方法,但是请注意,我的问题并不清楚(只是给自己读了一遍)。下次我会牢记这一点。谢谢。
-
没问题。不过,如果您也能为我们澄清“它失败了”这一点,那就太好了。究竟是什么错误,究竟是哪一行代码抛出了它? :-)