Asp.net mvc ASP.NET核心C#实体-JSON导入
我有一个JSON字符串,如下所示:Asp.net mvc ASP.NET核心C#实体-JSON导入,asp.net-mvc,asp.net-core,entity-framework-6,entity-framework-core,Asp.net Mvc,Asp.net Core,Entity Framework 6,Entity Framework Core,我有一个JSON字符串,如下所示: { "products": {"title1":"description1","title2":"description2","title3":"description3"}, "categories": {"1":"cat1","2":"cat2"} } 我有一个JSON字符串,如下所示: { "products": {"title1":"description1","title2"
{
"products":
{"title1":"description1","title2":"description2","title3":"description3"},
"categories":
{"1":"cat1","2":"cat2"}
}
我有一个JSON字符串,如下所示:
{
"products":
{"title1":"description1","title2":"description2","title3":"description3"},
"categories":
{"1":"cat1","2":"cat2"}
}
类似于数据库表的My Model类:
public class Product
{
public int Id { get; set; } //auto generated identity
public string Title { get; set; }
public string Description { get; set; }
}
public class ApplicationProduct : DbContext
{
public ApplicationProduct(DbContextOptions<ApplicationProduct> options) : base(options)
{
}
public DbSet<Product> Product { get; set; }
}
公共类产品
{
public int Id{get;set;}//自动生成的标识
公共字符串标题{get;set;}
公共字符串说明{get;set;}
}
公共类ApplicationProduct:DbContext
{
公共应用程序产品(DbContextOptions):基本(选项)
{
}
公共DbSet乘积{get;set;}
}
如何使用实体框架将JSON数据插入数据库中
[Route("import/products")]
public ActionResult ImportProducts()
{
string jsonData = ""; //will contain the above mentioned JSON data
//List<Product> products = JsonConvert.DeserializedObject<List<Product>>(jsonData);
//foreach(var product in products)
//{
// @product.Title.ToString();
// @product.Description.ToString();
//}
}
[路线(“进口/产品”)]
公共行动结果导入产品()
{
字符串jsonData=”“;//将包含上述JSON数据
//List products=JsonConvert.DeserializedObject(jsonData);
//foreach(产品中的var产品)
//{
//@product.Title.ToString();
//@product.Description.ToString();
//}
}
我不知道如何在控制器方法ImportProducts中实现这一点。
有什么帮助吗?这是一种非标准json格式,您不能直接将获取的内容反序列化到列表中 您需要首先使用
动态类型接受它,然后循环使用它以获取名称和值
请尝试以下代码:
List<Product> products = new List<Product>();
string jsonData = "";//your json content
dynamic DynamicObject = JsonConvert.DeserializeObject<dynamic>(jsonData);
foreach (var item in DynamicObject.products)
{
Product product = new Product
{
Description = item.Value,
Title = item.Name
};
_context.Product.Add(product);
products.Add(product);
}
_context.SaveChanges();
List products=newlist();
字符串jsonData=“”//您的json内容
动态DynamicObject=JsonConvert.DeserializeObject(jsonData);
foreach(DynamicObject.products中的var项)
{
产品=新产品
{
Description=项目值,
Title=项目名称
};
_context.Product.Add(产品);
产品。添加(产品);
}
_SaveChanges();