3

私は mashape API を使用しています: https://market.mashape.com/montanaflynn/dictionary

これが私のコードです:

HttpResponse<RootObject> response = Unirest.get("https://montanaflynn-dictionary.p.mashape.com/define?word=irony")
    .header("X-Mashape-Key", "my mashape key")
    .header("Accept", "application/json")
    .asJson<RootObject>();

http://json2csharp.com/を使用して RootObject クラスを生成しました。

これが私の RootObject クラス コードです。

class Definition
{
    public string text { get; set; }
    public string attribution { get; set; }
}

class RootObject
{
    public List<Definition> definitions { get; set; }
}

上記のコードを実行すると、次のエラーが発生します。

タイプ 'System.InvalidCastException' の未処理の例外が unirest-net.dll で発生しました 追加情報: タイプ 'System.IO.MemoryStream' のオブジェクトをタイプ 'RootObject' にキャストできません。

質問:エラーを解決するにはどうすればよいですか?

4

1 に答える 1

0

これを試して。非同期関数に配置する必要があります。

static async Task<RootObject> GetRootInfo()
{
     HttpResponse<RootObject> response = await Unirest.get("https://montanaflynn-dictionary.p.mashape.com/define?word=irony")
    .header("X-Mashape-Key", "my mashape key")
    .header("Accept", "application/json")
    .asJsonAsync<RootObject>();

     return response.Body;
}
于 2017-01-02T16:00:01.227 に答える