JSON.NET JObject键比较不区分大小写

我正在使用Newtonsoft

Json.net解析JSON字符串。我将字符串转换为JObject。当通过键访问元素的值时,我要比较是不区分大小写的。在下面的代码中,我使用“

FROM”作为键。我希望它在行json [“ FROM”]。ToString()处返回字符串“ 1”。但是失败了。是否可以使下面的代码正常工作?

String ptString = "{from: 1, to: 3}";

var json = (JObject)JsonConvert.DeserializeObject(ptString);

String f = json["FROM"].ToString();

回答:

c#允许您将字典与不区分大小写的键一起使用,因此我使用的解决方法是将JObject转换为具有StringComparer.CurrentCultureIgnoreCaseset

的字典,如下所示:

JObject json = (JObject)JsonConvert.DeserializeObject(ptString);

Dictionary<string, object> d = new Dictionary<string, object>(json.ToObject<IDictionary<string, object>>(), StringComparer.CurrentCultureIgnoreCase);

String f = d["FROM"].ToString();

以上是 JSON.NET JObject键比较不区分大小写 的全部内容, 来源链接: utcz.com/qa/427431.html

回到顶部