2016-10-14 3 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) 

방법 수정하고이 프로그램을 작동하게 만드시겠습니까?

string store_street = address_1.street; 

가 있어야한다 :

+3

질문의 형식을 올바르게 지정하십시오. 그리고 btw, 나는 당신의 JSON에 따라'address'가'문자열 '이라고 생각하지 않습니다. –

답변

1

당신은 문자열 변수에 주소를 얻고있다. 대신 동적을 사용하십시오.

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"] 
+0

이 오류가 발생했습니다 Program.cs (36,36) : 오류 CS0021 : [char] 유형의 표현식에 []을 (를) 사용하여 색인을 적용 할 수 없습니다 (CS0021) (테스트) – Mounarajan

관련 문제