C# 将json字符串解析为填充它的类';s子类
我已将此字符串返回到我的代码隐藏:C# 将json字符串解析为填充它的类';s子类,c#,json,jsonconvert,C#,Json,Jsonconvert,我已将此字符串返回到我的代码隐藏: string json = "[[{'nome':'joe','cpf':'54'},{'id':'8','nome':'Legendagem','valor':'5'}],[{'nome':'jane','cpf':'22'},{'id':'1','nome':'Legendagem2','valor':'6'}]]"; 我有三门课: public class ItemCart { public UserCart user {
string json = "[[{'nome':'joe','cpf':'54'},{'id':'8','nome':'Legendagem','valor':'5'}],[{'nome':'jane','cpf':'22'},{'id':'1','nome':'Legendagem2','valor':'6'}]]";
我有三门课:
public class ItemCart
{
public UserCart user { get; set; }
public CursoCart curso { get; set; }
}
public class UserCart
{
public string nome { get; set; }
public string email { get; set; }
public string cpf { get; set; }
}
public class CursoCart
{
public string id { get; set; }
public string desc { get; set; }
public string valor { get; set; }
}
我想要的是填充类UserCart/cursorcat类,这样我就可以在itemCart中循环并获取UserCart/cursorcat项的值、长度等
例如:
假设我无法更改字符串,我正在尝试转换,但现在正在工作:
List<ItemCart> itemCart = JsonConvert.DeserializeObject<List<ItemCart>>(json);
List itemCart=JsonConvert.DeserializeObject(json);
谢谢您的帮助。正如我从您的json中看到的,它是一个数组。 以下ItemCart和反序列化可能适合您
public class Program
{
public static void Main()
{
string json = "[[{'nome':'joe','cpf':'54'},{'id':'8','nome':'Legendagem','valor':'5'}],[{'nome':'jane','cpf':'22'},{'id':'1','nome':'Legendagem2','valor':'6'}]]";
var ItemCartList = JsonConvert.DeserializeObject<List<Item[]>>(json);
}
}
public class ItemCart
{
public Item[][] ItemList { get; set; }
}
public class Item
{
public string nome { get; set; }
public string cpf { get; set; }
public string id { get; set; }
public string valor { get; set; }
}
公共类程序
{
公共静态void Main()
{
string json=“[{'nome':'joe','cpf':'54'},{'id':'8','nome':'Legendagem','valor':'5'}],{'nome':'jane','cpf':'22'},{'id':'1','nome':'Legendagem','valor':'6'];
var ItemCartList=JsonConvert.DeserializeObject(json);
}
}
公共类ItemCart
{
公共项[][]项列表{get;set;}
}
公共类项目
{
公共字符串nome{get;set;}
公共字符串cpf{get;set;}
公共字符串id{get;set;}
公共字符串值{get;set;}
}
只需创建一个类,该类同时具有UserCart
和cursorcart
类的属性,然后使用JsonConvert.DeserializeObject(json)
。。。反序列化程序无法根据属性的存在猜测类型…谢谢@Selvin,接受了下面的内容(因为这个示例),但您的见解是正确的,指向了相同的方向(只有一个类)
public class Program
{
public static void Main()
{
string json = "[[{'nome':'joe','cpf':'54'},{'id':'8','nome':'Legendagem','valor':'5'}],[{'nome':'jane','cpf':'22'},{'id':'1','nome':'Legendagem2','valor':'6'}]]";
var ItemCartList = JsonConvert.DeserializeObject<List<Item[]>>(json);
}
}
public class ItemCart
{
public Item[][] ItemList { get; set; }
}
public class Item
{
public string nome { get; set; }
public string cpf { get; set; }
public string id { get; set; }
public string valor { get; set; }
}