0

これから応答が返ってきたら:

    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);
}
4

2 に答える 2

3

文字列に実際にバックスラッシュが含まれており、Visual Studio のビジュアライザーがそれを行っているわけではありませんか? その結果をファイルに出力すると、どのように見えるでしょうか?

"特典は、文字列が...で始まることです。

于 2013-10-01T00:12:57.543 に答える
0

バックスラッシュが表示されているのは、文字列に変換したためです! 使用: http://james.newtonking.com/jsonこれは、(私の意見では) WP に最適な Json ライブラリです。非常に使いやすく、多くのパワーがあります。

于 2013-10-01T09:44:02.787 に答える