将 json 字符串解析为 class 填充它的子 classes

Parse json string to a class populating it's subclasses

我把这个字符串返回到我后面的代码中:

string json = "[[{'nome':'joe','cpf':'54'},{'id':'8','nome':'Legendagem','valor':'5'}],[{'nome':'jane','cpf':'22'},{'id':'1','nome':'Legendagem2','valor':'6'}]]";

我有 3 个 classes:

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

我想要的是填充 class UserCart/CursoCart class 以便我可以在 itemCart 中循环并获取 UserCart/CursoCart 项目的值、长度等 例如:

UserCart user1 = itemCart[0].user;

假设我无法更改字符串,我正在尝试转换它,但现在可以工作了:

List<ItemCart> itemCart = JsonConvert.DeserializeObject<List<ItemCart>>(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; }
}