【发布时间】:2022-01-19 07:15:46
【问题描述】:
我想从 json 字符串中检索单个值。
之前我是这样使用Newtonsoft的:
var jsonString = @"{ ""MyProp"" : 5 }";
dynamic obj = Newtonsoft.Json.Linq.JObject.Parse(jsonString);
Console.WriteLine(obj["MyProp"].ToString());
但我似乎无法让它在 .NET 6 中工作:
到目前为止我已经尝试过了:
var jsonString = @"{ ""MyProp"" : 5 }";
dynamic obj = await System.Text.Json.JsonSerializer.Deserialize<dynamic>(jsonString);
Console.WriteLine(obj.MyProp.ToString());
导致此错误:
未处理的异常。 Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:“System.Text.Json.JsonElement.this[int]”的最佳重载方法匹配有一些无效参数
【问题讨论】:
-
您也可以在 .NET 6 中使用 NewtonSoft.Json。
-
哦,---这是一个很好的观点......我被问到“只是使用框架的那个”,因此我的问题,但确实如此。