gpt4 book ai didi

c# - 序列化有时是数组的 Json 属性

转载 作者:可可西里 更新时间:2023-11-01 08:56:17 27 4
gpt4 key购买 nike

<分区>

有没有办法在一次操作中序列化一个从小数到小数[]的Json对象属性?

在我的 Json 产品提要中,特价商品表示为一个数组(正常价格/促销价)。普通商品只是价格。像这样:

[
{
"product" : "umbrella",
"price" : 10.50,
},
"product" : "chainsaw",
"price" : [
39.99,
20.0
]
}
]

让它工作的唯一方法是将属性设为对象,如下所示:

public class Product
{
public string product { get; set; }
public object price { get; set; }
}

var productList = JsonConvert.DeserializeObject<List<Product>>(jsonArray);

但是,如果我尝试将其设为 decimal[],那么它将在单个十进制值上抛出异常。使它成为一个对象意味着数组值是一个 JArray 所以我必须在之后做一些清理工作并且我的应用程序中的其他映射需要属性类型是准确的所以我必须将它映射到一个未映射的属性然后初始化另一个属性没什么大不了的,但命名有点乱。

对象是这里唯一的选择还是我可以使用序列化器做一些魔术,将单个值添加到数组或将第二个值添加到单独的属性以获得特价?

27 4 0
文章推荐: java.lang.ClassNotFoundException 异常
文章推荐: c# - Summernote 和 MVC c# 中的表单提交
文章推荐: c# - Unity3d c# - Vector3 作为默认参数
文章推荐: c# - 检查 IEnumerable 是否为 IEnumerable