如果您想要获取结果中的对象值,请看下面的演示示例:
public void Test()
{
//the data here is the same as reader.ReadToEnd() in your project
var data = GetRequest();
//your result
var responseData = JsonSerializer.Deserialize<Dictionary<string, dynamic>>(data);
//change like below
var d = JsonDocument.Parse(data); //JsonDocument.Parse(reader.ReadToEnd())
var result = d.RootElement.EnumerateObject();
foreach (var r in result)
{
if (r.Value.ValueKind == JsonValueKind.String)
{
var stringValue = r.Value.GetString();
}
if (r.Value.ValueKind == JsonValueKind.Object)
{
var m = JsonSerializer.Deserialize<TestModel>(r.Value.GetRawText());
var Code = m.code;
var des = m.description;
}
}
}
模型:
public class TestModel
{
public string code { get; set; }
public string description { get; set; }
}
简单方法是创建一个像下面这样的ViewModel来表示结果:
public class ViewModel
{
public TestModel result { get; set; }
public string buildNumber { get; set; }
}
反序列化JSON字符串并获取如下所示的值:
var responseData = JsonSerializer.Deserialize<ViewModel>(reader.ReadToEnd());
var code = responseData.result.code;
var des = responseData.result.description;