C# 如何在asp.net mvc中使用3数组获取json数据

C# 如何在asp.net mvc中使用3数组获取json数据,c#,json,asp.net-mvc-5,C#,Json,Asp.net Mvc 5,我是asp.net开发的新手,我不知道如何使用多数组获取json数据并将其转换为3个模型? 例子: -阵列1 ln、阵列2 wn和阵列3漫画 -模型1 ln,模型2 wn,模型3漫画 { "LN": [ { "Name": "Mahouka Koukou no Rettousei", "Authors": "Satou Tsutomu", "Artits": "Ishida Kana", "Year": "2011",

我是asp.net开发的新手,我不知道如何使用多数组获取json数据并将其转换为3个模型? 例子: -阵列1 ln、阵列2 wn和阵列3漫画 -模型1 ln,模型2 wn,模型3漫画

{

  "LN": [

    {
      "Name": "Mahouka Koukou no Rettousei",
      "Authors": "Satou Tsutomu",
      "Artits": "Ishida Kana",
      "Year": "2011",
      "Volume": 29,
    }
  ],

  "WN": [

    {
      "Name": "Chiyu Mahou no Machigatta Tsukaikata ~Senjou wo Kakeru Kaifuku Youin~",
      "Authors": "Kurokata, くろかた",
      "Artits": "KeG",
      "Year": "2014",
      "Chapter": 236,
    }
  ],

  "Manga": [

    {
      "Name": "Tensei Shitara Slime Datta Ken",
      "Authors": "Fuse",
      "Artits": "Kawakami Taiki",
      "Year": "2015",
      "Chapter": 60,
    }

  ]

}     

我用jsonutils获得这个

公共类LN
{
公共字符串名称{get;set;}
公共字符串作者{get;set;}
公共字符串Artits{get;set;}
公共字符串年份{get;set;}
公共int卷{get;set;}
}
公共班
{
公共字符串名称{get;set;}
公共字符串作者{get;set;}
公共字符串Artits{get;set;}
公共字符串年份{get;set;}
公共int章{get;set;}
}
公共级漫画
{
公共字符串名称{get;set;}
公共字符串作者{get;set;}
公共字符串Artits{get;set;}
公共字符串年份{get;set;}
公共int章{get;set;}
}
公开课范例
{
公共IList LN{get;set;}
公共IList WN{get;set;}
公共IList漫画{get;set;}
}
获取3个列表:漫画、ln、wn,并通过控制器在视图中使用此列表。
但是我不知道如何选择json中的数组。

这是一个非常丰富的模型,可以随时进行传递,但是如果它确实是您需要/想要做的,那么您将创建一个视图模型,它由
LN
的集合、
WN
的集合和
Manga
的集合组成,然后传过去。比如:

public class MangasViewModel{
  public List<WN> WN{get;set;}
  public List<LN> LN {get;set;}
  public List<Manga> Manga {get;set;}
}
公共类MangasViewModel{
公共列表WN{get;set;}
公共列表LN{get;set;}
公共列表漫画{get;set;}
}

必须将Json数据反序列化到对象。为此,您可以使用包。首先,将模型放在根类中,然后用类转换它们

公共类模型
{
公共IEnumerable LN{get;set;}
公共IEnumerable WN{get;set;}
公共IEnumerable漫画{get;set;}
}
用法

var model = JsonConvert.DeserializeObject<Model>(jsonString);
var model=JsonConvert.DeserializeObject(jsonString);

您的json数据是字符串?您可以使用它将json转换为c类。这是链接。@abhi是更好的选择,因为JSON2Charp不创建根类。在jsonutils中,我得到这个:添加请求,你能解释我怎么用这个吗?我不明白为什么你有一个viewmodel,因为我使用mvc而不是mvvm,您能否解释一下,在mvc asp.net和php与mysql中使用json时,ist是如何不同的。您仍然经常使用mvc创建viewmodels,因为不同的视图需要使用稍微不同版本的模型。在这里的示例中,您有3个“模型”,但您希望将它们组合在一起并返回它们以用于此特定视图。这就是为什么要使用“viewmodel”的原因。它是关于匹配我想要做的事情,我想要做的是为每个列表选择一个全选,并将一个按名称选择作为主键,就像在mysql中一样。这是我第一次使用asp.net,我很难理解json作为bdd是如何工作的。听起来你要进入第二个问题了。你应该发布一个新的问题。如果我理解正确,json转换后我会有一个字符串,但在我如何正确分离并将其放入我的3 listl?@Dr.LexLab之后,答案就完成了。您将3个列表放在模型类中,现在可以使用它们了。如果这不是你的答案,我真的很困惑。
public class Model
{
  public IEnumerable<LN> LN { get; set; }
  public IEnumerable<WN> WN { get; set; }
  public IEnumerable<Manga> Manga { get; set; }
}
var model = JsonConvert.DeserializeObject<Model>(jsonString);