【发布时间】:2020-05-12 01:12:03
【问题描述】:
我有一个带有不同数据类型的重复属性名称的 json 字符串。如果我删除了所有重复的其他数据类型,它将正常工作。
{
"data":[
{
"ctr":0,
"spend":11839.8600,
"clicks":6402
},
{
"ctr":0,
"spend":12320.5000,
"clicks":5789
},
{
"clicks":{
"value":13156.0,
"prior_year":0.0,
"prior_month":14122.0,
"prior_month_perc":0.0684039087947882736156351792,
"prior_year_perc":0.0
}
}
],
"timing":null,
"warnings":[
],
"success":true
}
这是我的模型类
public class MyTestModel
{
public int? ctr { get; set; }
public decimal? spend { get; set; }
public int? clicks { get; set; }
}
如果我删除了这个截断的 json 部分,程序将运行。
{
"clicks":{
"value":13156.0,
"prior_year":0.0,
"prior_month":14122.0,
"prior_month_perc":0.0684039087947882736156351792,
"prior_year_perc":0.0
}
是否有任何方法可以停止将不支持的类型绑定到模型属性。
【问题讨论】:
-
您必须使用带有
JObject/JToken类的 Newtonsoft.Json 库来解析它,并用数字替换“坏”节点。但实际上你应该问如何改进你的 JSON,因为那种混合类型不是最佳实践。