如何解决JSON值无法转换为System.String路径:$ [0]价格|行号:4 | BytePositionInLine:16
migrationBuilder.CreateTable(
name: "Products",columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement",true),Price = table.Column<decimal>(type: "decimal(18,2)",nullable: false),PictureUrl = table.Column<string>(nullable: false),ProductTypeId = table.Column<int>(nullable: false),ProductBrandId = table.Column<int>(nullable: false),Description = table.Column<string>(maxLength: 180,Name = table.Column<string>(maxLength: 100,nullable: false)
},
这是用于创建表格的代码段
public static async Task SeedAsync(StoreContext context,ILoggerFactory loggerFactory)
{
try
{
if (!context.ProductsBrands.Any())
{
var brandsData = File.ReadAllText("../Infrastructure/Data/SeedData/brands.json");
var brands = System.Text.Json.JsonSerializer.Deserialize<List<ProductBrand>>(brandsData);
foreach (var item in brands)
{
context.ProductsBrands.Add(item);
}
await context.SaveChangesAsync();
}
在这一部分中,我试图将数据从json文件中播种到表中,但是我无法这样做,并且我的表没有任何更改。
请帮助。
解决方法
我的猜测是,在您的JSON文件中,您在Price元素中使用了双引号。 像:{价格:“ 0000000.00”}, 尝试不使用引号。 如果它不起作用,则可能是您的JSON已损坏。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。