-1
これまでの問題を修正できません:' RestSharp.JsonArray 'タイプのオブジェクトをキャストして' System.Collections.Generic.IDictionary`2 [可能System.String、System.Objectの - このエラーは私が応答自体は、ここで見ることができます。RestSharp:タイプ 'RestSharp.JsonArray'のオブジェクトを 'System.Collections.Generic.IDictionary`にキャストできません
var response = client.Execute<ThirdPartySuggester>(request);
が、私はここに来るNullReferenceExeption:
var name = response.Data.Name;
を
これは私のテストクラスです:
ここで[
{
"name": "iPhone 7 Plus",
"manufacturer": "Apple",
"deviceType": "smartphone_tablet",
"searchKey": "apple_iphone_7_plus"
},
{
"name": "iPhone 4s",
"manufacturer": "Apple",
"deviceType": "smartphone_tablet",
"searchKey": "apple_iphone_4s"
},
{
"name": "iPhone 6",
"manufacturer": "Apple",
"deviceType": "smartphone_tablet",
"searchKey": "apple_iphone_6"
},
{
"name": "iPod Touch 8th Generation",
"manufacturer": "Apple",
"deviceType": "smartphone_tablet",
"searchKey": "apple_ipod_touch_8th_generation"
},
{
"name": "iPhone 7",
"manufacturer": "Apple",
"deviceType": "smartphone_tablet",
"searchKey": "apple_iphone_7"
}
]
が、私は逆シリアル化しようとしているものの実装クラスである:私はあなたから任意の助けをいただければ幸いです
public class ThirdPartySuggester
{
public string Name { get; set; }
public string Manufacturer { get; set; }
public string DeviceType { get; set; }
public string SearchKey { get; set; }
}
、みんな
public class Class1
{
[Theory]
[InlineData("apple", "en-us")]
public void SearchTest(string searchPhrase, string language)
{
var client = new RestClient("https://test_site/api");
var request = new RestRequest("/thirdparty/suggester?searchPhrase={search_key}&marketLocale={language_id}", Method.GET);
request
.AddUrlSegment("search_key", searchPhrase)
.AddUrlSegment("language_id", language);
var response = client.Execute<ThirdPartySuggester>(request);
var name = response.Data.Name;
var manufacturer = response.Data.Manufacturer;
var deviceType = response.Data.DeviceType;
var searchKey = response.Data.SearchKey;
.....
私が得る応答は、このデータが含まれています!あなたがThirdPartySuggesterの配列を返して取得しているので、あなたがリストを指定する必要が
を使用し、私はあなたがいるとは思いませんこのエラーが発生しているコードを示します。あなたの応答は配列であり、辞書に変換しようとしているコードは表示されません。あなたのコードは単一の 'ThirdPartySuggester'を期待しているようですが、[MCVE](https://stackoverflow.com/help/mcve) – pstrjds
を投稿してください。@pstrjdsありがとうございました。私の投稿を編集しました。 はい、あなたは私がThirdPartySuggesterを単一のものとして書いたのであなたが正しいと思います。 正しい方法で辞書に変換するにはどうすればいいですか? – SerjK