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; }
}