Windows phone 8 如何将多级json数据转换为C对象?
我知道json有几个问题,但对我来说完全不同。我的问题 如何将此jsonString转换为c对象。我试过好几次了。这个意想不到的问题使我很沮丧。我需要知道我有什么问题,我应该怎么做 { 现状:200, 状态信息:成功, 数据:[ { 警报和警报:[ { 0: 1, 1:警报和警报1, 2: 0, id:1, 名称:报警和警报1, islock:0 }, { 0: 6, 1:警报和警报6, 2: 0, id:6, 名称:报警和警报6, islock:0 } ] }, { 动物:[ { 0: 7, 1:鸟, 2: 0, id:7, 名字:伯德, islock:0 }, { 0: 13, 1:有趣的动物, 2: 0, id:13, 名称:有趣的动物, islock:0 } ] }, { Dj:[ { 0: 14, 1:Dj 1, 2: 0, 身份证号码:14, 姓名:Dj 1, islock:0 }, { 0: 15, 1:Dj 2, 2: 0, 身份证号码:15, 姓名:Dj 2, islock:0 }, { 0: 18, 1:Dj 5, 2: 0, 身份证号码:18, 姓名:Dj 5, islock:0 } ] }, { 说唱乐:[ { 0: 71, 1:Rap铃声1, 2: 0, 身份证号码:71, 姓名:Rap铃声1, islock:0 }, { 0: 77, 1:Rap铃声7, 2: 0, id:77, 姓名:Rap铃声7, islock:0 } ] } ] } 我的班级:Windows phone 8 如何将多级json数据转换为C对象?,windows-phone-8,Windows Phone 8,我知道json有几个问题,但对我来说完全不同。我的问题 如何将此jsonString转换为c对象。我试过好几次了。这个意想不到的问题使我很沮丧。我需要知道我有什么问题,我应该怎么做 { 现状:200, 状态信息:成功, 数据:[ { 警报和警报:[ { 0: 1, 1:警报和警报1, 2: 0, id:1, 名称:报警和警报1, islock:0 }, { 0: 6, 1:警报和警报6, 2: 0, id:6, 名称:报警和警报6, islock:0 } ] }, { 动物:[ { 0: 7,
public class Category
{
public string __invalid_name__0 { get; set; }
public string id { get; set; }
public string __invalid_name__1 { get; set; }
public string name { get; set; }
public string __invalid_name__2 { get; set; }
public string islock { get; set; }
}
public class CategoryCollection
{
public List<Category> CategoryRingtone { get; set; }
}
public class RootObject
{
public int status { get; set; }
public string status_messages { get; set; }
public List<CategoryCollection> data { get; set; }
}
categoriesJsonString = await Downloader.LoadCategoriesFromServer();
RootObject rootObject = new RootObject();
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(categoriesJsonString));
DataContractJsonSerializer ser = new DataContractJsonSerializer(rootObject.GetType());
rootObject = ser.ReadObject(ms) as RootObject;
ms.Close();
复制并粘贴json将表明它无效。一个好的开始是使用有效的json。如果你能说出你到底有什么问题,这也会有帮助。意外的问题是什么?我已经将我的json编辑为有效,实际上我将简明的json字符串缩短为便于阅读。谢谢你,如果你能说出这个神秘的意外问题到底是什么,也许有人会帮你。CategoryRingtone列表是否始终为空?它会给你错误吗?哪一个还是什么?是的,这就是问题所在。CategoryRingtone列表总是空的。感谢所有伸出手来帮助我的人。问题解决了。
public class AlarmAndAlert
{
public string __invalid_name__0 { get; set; }
public string __invalid_name__1 { get; set; }
public string __invalid_name__2 { get; set; }
public string id { get; set; }
public string name { get; set; }
public string islock { get; set; }
}
public class Animal
{
public string __invalid_name__0 { get; set; }
public string __invalid_name__1 { get; set; }
public string __invalid_name__2 { get; set; }
public string id { get; set; }
public string name { get; set; }
public string islock { get; set; }
}
public class Dj
{
public string __invalid_name__0 { get; set; }
public string __invalid_name__1 { get; set; }
public string __invalid_name__2 { get; set; }
public string id { get; set; }
public string name { get; set; }
public string islock { get; set; }
}
public class Rap
{
public string __invalid_name__0 { get; set; }
public string __invalid_name__1 { get; set; }
public string __invalid_name__2 { get; set; }
public string id { get; set; }
public string name { get; set; }
public string islock { get; set; }
}
public class Datum
{
public List<AlarmAndAlert> __invalid_name__Alarm And Alert { get; set; }
public List<Animal> Animal { get; set; }
public List<Dj> Dj { get; set; }
public List<Rap> Rap { get; set; }
}
public class RootObject
{
public int status { get; set; }
public string status_messages { get; set; }
public List<Datum> data { get; set; }
}