2014-01-12 2 views
0

아래 코드는 웹 서비스에서 데이터를 가져와 정의 된 목록 "그룹"에 연결하는 것으로 가정합니다. 이것은 Windows 8 메트로 응용 프로그램입니다.서비스의 JSON 데이터 사용

HttpClient client = new HttpClient(); 
HttpResponseMessage response = await client.GetAsync(App.DataServiceUrl + "/productcategory"); 
var Groups = new List<GroupList>(); 

if (response.IsSuccessStatusCode) 
{ 
    var content = await response.Content.ReadAsStringAsync(); 
    var prods = JsonConvert.DeserializeObject<dynamic>(content); 
    foreach (var data in prods) 
    { 
     var dataGroup = new GroupList 
       (
       data.term_id, 
        data.name, 
       data.slug, 
        data.description, 
        data.taxonomy 
      ); 
     Groups.Add(dataGroup); 

    } 
} 

그룹리스트 :

[{"term_id":"64","name":"Argentina","slug":"argentina","term_group":"0","term_taxonomy_id":"64","taxonomy":"product_cat","description":"","parent":"13","count":"20","meta_id":"154","woocommerce_term_id":"64","meta_key":"order","meta_value":"0","cat_ID":"64","category_count":"20","category_description":"","cat_name":"Argentina","category_nicename":"argentina","category_parent":"13"},...] 

그러나 응용 프로그램이 JSON 값을 여기에 인식하지 못하는

public class GroupList : SampleDataCommon 
{ 


    public GroupList(String uniqueId, String title, String subtitle, String imagePath, String description) 


: base(uniqueId, title, subtitle, imagePath, description) 

} 서비스에서 데이터의

한 예입니다 :

< : 값을 구문 분석하는 동안 발생

"예기치 않은 문자 : 나는 응용 프로그램을 실행할 때

대신 나는이 오류가 발생합니다. 경로 ", 줄 4, 위치 2"

웹 서비스 json에서 term_id, name 등의 값을 가져 와서 내 응용 프로그램에서 사용하려고합니다. 어떻게해야합니까? 내가 도대체 ​​뭘 잘못하고있는 겁니까? 내가 JSON 값을 사용합니까?

는 json2csharp에서 반환 : 당신은 CategoryList의 새로운 인스턴스에 대한 매개 변수 값으로 다른 dataProd 속성을 사용하고

public class RootObject 
{ 
    public string term_id { get; set; } 
    public string name { get; set; } 
    public string slug { get; set; } 
    public string term_group { get; set; } 
    public string term_taxonomy_id { get; set; } 
    public string taxonomy { get; set; } 
    public string description { get; set; } 
    public string parent { get; set; } 
    public string count { get; set; } 
    public string meta_id { get; set; } 
    public string woocommerce_term_id { get; set; } 
    public string meta_key { get; set; } 
    public string meta_value { get; set; } 
    public string cat_ID { get; set; } 
    public string category_count { get; set; } 
    public string category_description { get; set; } 
    public string cat_name { get; set; } 
    public string category_nicename { get; set; } 
    public string category_parent { get; set; } 
} 
+0

당신은'웹 서비스의 데이터는 XML 형식입니다 .'라고 말하지만'JsonConvert.DeserializeObject'를 사용하십시오. 또한 새로운 서비스에서 반환 된 데이터의 한 예가''그러나 데이터는 이미 json에 있습니다. –

+0

코드가 XML로 반환 된 데이터와 함께 작동하지만, 지금 사용하려는 새로운 서비스가 JSON에 있습니다. JSON 서비스를 사용하려고합니다. – Tester

+0

테스터, 그럼 왜 그 비 관련 정보를 게시 했습니까? 당신이하려는 일과 무슨 관련이 있습니까? –

답변

0

. 새 데이터를 보유하고 CategoryList의 인스턴스화를 해당 유형으로 대체하고 (생성자 또는 특성을 통해) 초기화하여 새 데이터가 그룹

으로 이동하는 데 사용할 GroupList에서 파생 된 유형을 결정해야합니다
+0

죄송합니다. 그건 실수였습니다. 위의 편집을 참조하십시오. – Tester