C# API 响应在所有 json 属性之前返回反斜杠

本文关键字:返回 属性 json 响应 API | 更新日期: 2023-09-27 18:33:26

当我从这里得到回应时:

    public IEnumerable<Organisation> GetAll()
    {
        string requestUrl = BlaBla.APIURL + "/org/";
        //string response = await postRequest.AuthenticatedGetData(requestUrl, BlablaDataContext.Contract.AccessToken).Result;
        AuthenticatedGetData(requestUrl, BlaBla.Contract.AccessToken);
        IEnumerable<Organisation> organisations = new Organisation[] {};
        return organisations;
    }
    public override void WebClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        string response = e.Result;
        using (MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes(response)))
        {
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Contract));
            Contract contract = (Contract)serializer.ReadObject(stream);
        }
    }

... string response = e.Result();

将返回以下内容:

response"[{'"status'":'"active'",'"segment'":null,'"contract_status'":'"none'",'"name'":'"Projects with James'",'"rights'...

我如何阻止这种情况发生,因为我无法使用 http://json2csharp.com/将我的 json 转换为 csharp 对象......

我的网络客户端看起来像这样:

abstract public class PostRequest
{
    public void AuthenticatedGetData(string url, string accessToken)
    {
        WebClient client = new WebClient();
        //client.Headers["Content-Type"] = "application/json";
        client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(this.WebClient_DownloadStringCompleted);
        client.DownloadStringAsync(new Uri(url + "?oauth_token=" + accessToken));
    }
    public abstract void WebClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e);
}

C# API 响应在所有 json 属性之前返回反斜杠

你确定字符串实际上有反斜杠,而不是Visual Studio的可视化工具在做吗? 如果你把这个结果打到一个文件上,它是什么样子的?

赠品是字符串以"开头...

我的朋友 出现反斜杠是因为您将其转换为字符串! 使用 : http://james.newtonking.com/json 它是最好的(在我看来)WP 的 Json 库。 它非常易于使用,并且具有很大的功能。