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.CurrentCultureIgnoreCase
set
的字典,如下所示:
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