下面的代碼應該從Web服務獲取數據,並將其插入定義的「組」列表中。這是一個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);
}
}
組列表:
public class GroupList : SampleDataCommon
{
public GroupList(String uniqueId, String title, String subtitle, String imagePath, String description)
: base(uniqueId, title, subtitle, imagePath, description)
}從業務數據的
一個例子是:
[{"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值:
data.term_id,
data.name,
data.slug,
data.description,
data.taxonomy
相反,當我運行該應用程序我得到這個錯誤:<:
「在分析價值時遇到意外的字符。路徑「,第4行,位置2」
我想從web服務json中獲取term_id,name等的值並在我的應用程序中使用它。我如何做到這一點?我究竟做錯了什麼?我該使用JSON值嗎?
從json2csharp返回:
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; }
}
你說'來自Web服務的數據是XML格式的,但使用'JsonConvert.DeserializeObject'。你也說'從新服務返回的數據的一個例子是:'但數據已經在json中。 –
代碼使用XML處理返回的數據的第一個Web服務,但我現在嘗試使用的新服務是使用JSON。我現在試圖使用JSON服務。 – Tester
測試人員,那你爲什麼發佈那些不相關的信息?它與你想要做什麼有什麼關係? –