将 Stream 转换为 json 值 c#

Convert a Stream into json value c#

我从这条线得到以下流,其中 req1 是 HttpResponseMessage 类型,responseMessage 是 Stream 类型。如何将此流转换为 json 对象。我的最终目标是从 json.

中的特定键中提取值
var responseMessage = await req1.Content.ReadAsStreamAsync();

试一试

// read file into a string and deserialize JSON to a type
Movie movie1 = JsonConvert.DeserializeObject<Movie>(File.ReadAllText(@"c:\movie.json"));

// deserialize JSON directly from a file
using (StreamReader file = File.OpenText(@"c:\movie.json"))
{
    JsonSerializer serializer = new JsonSerializer();
    Movie movie2 = (Movie)serializer.Deserialize(file, typeof(Movie));
}

以上答案有一个class定义。我不想定义不同的 class,因为我的模型是动态的。我找到了这个解决方案,效果很好,得到了我想要的结果

var serializer = new JsonSerializer();

            using (var sr = new StreamReader(responseMessage))
            using (var jsonTextReader = new JsonTextReader(sr))
            {
                var jsObj= serializer.Deserialize(jsonTextReader);
            }