2016-10-14 7 views
-1

私はC#の辞書から通りを取得しようとしていますが、それは(いくつかのエラーを取得して)動作していないC#で辞書から値を取得します

コード

string data_scope_api = '[ 
    { 

    "retailerName": "vv", 
    "name": null, 
    "address": { 
     "fullShopName": "vv", 
     "street": "vv", 

    }, 

    }, 
    { 

    "retailerName": "vv", 
    "name": null, 
    "address": { 
     "fullShopName": "vv", 
     "street": "vv" 
    }, 

    } 
]' 






     dynamic results = JsonConvert.DeserializeObject<dynamic>(data_scope_api); 
     foreach (var result in results) { 

      string address = result.address; 
      Console.Write (address); 
      foreach (var address_1 in address) { 
       string store_street = address_1.street; 
       Console.Write (store_street); 
      } 
     } 

エラー

Program.cs(37,37): Error CS1061: Type `char' does not contain a definition for `street' and no extension method `street' of type `char' could be found. Are you missing an assembly reference? (CS1061) (test) 

どのように修正してこのプログラムを動作させますか?

+3

少なくとも質問を正しくフォーマットしてください。そしてbtw、私はあなたのJSONによる 'アドレス'は '文字列'だとは思わない。 –

答えて

1

あなたは文字列変数にアドレスを取得しています。代わりにdynamicを使用してください。

foreach (var result in results) 
{ 
    dynamic address = result.address; // address is dynamic address json 
    Console.Write(address); 

    string store_street = address.street; // street is string data 
    Console.Write(store_street); 
} 
0

adressはそう

このdictionary<string,string>です:

string store_street = address_1.street; 

は次のようになります。

string store_street = address_1["street"] 
+0

このエラーが発生しましたProgram.cs(36,36):エラーCS0021:[char](CS0021)(式)の式に[]でインデックス付けを適用できません – Mounarajan

関連する問題