0

我正在尝试验证 API 响应,但我似乎无法理解如何使用响应的内容。

这是我的回应:

"{\"On\": false, \"value\": null,}"

我想测试“On”的值(如果它是真的那么......或者假那么......)。

到目前为止,这是我的代码:

using System;
using System.Net.Http;
using System.Collections.Generic;
using System.Net.Http.Headers;

namespace APITest
{
    class Program
    {
        static void Main(string[] args)
        {
            PostRequest("My API");

            Console.ReadKey();
        }
        async static void PostRequest(string url)
        {
            IEnumerable<KeyValuePair<string, string>> queries = new 
List<KeyValuePair<string, string>>()
            {
                new KeyValuePair<string, string>("Test","1")
            };
            HttpContent q = new FormUrlEncodedContent(queries);
            using (HttpClient client = new HttpClient())
            {
                using (HttpResponseMessage response = await 
client.PostAsync(url,q))
                {
                    using (HttpContent content = response.Content)
                    {
                        string mycontent = await 
content.ReadAsStringAsync();
                        HttpContentHeaders headers = content.Headers;
                        Console.WriteLine(mycontent);

                    }          

                }

            }
        }
    }  
}
4

1 回答 1

1

您创建一个表示该 JSON 结构的类并使用 JSON 序列化器将您的字符串表示反序列化为该类的对象并根据需要使用它

在这里,我将向您展示如何使用 JSON.NET

string mycontent = await content.ReadAsStringAsync();
var result= Newtonsoft.Json.JsonConvert.DeserializeObject<ApiResult>(mycontent);
if (result!= null)
{
     if (result.On)
     {
        //do something, may be read, result.Value
     }
     else
     {
         //do something else
     }                 
}

假设您有这样的课程

public class ApiResult
{
    public bool On { set; get; }
    public string Value { set; get; }
}
于 2017-10-29T15:13:48.567 回答