我的API中的一个已经运行了好几年的函数一周前就停止了工作。该API具有许多功能,但只有这一功能已停止。
在出现问题之前,我更新了几个NUGET软件包。从那以后,我已将它们还原为问题之前的版本。该代码没有其他更改。该网站使用Knockout,这在过去曾给我带来过麻烦,因此JSON可能已更改。 JSON对象对我来说很好。我将其粘贴在下面。该项目使用Newtonsoft JSON.NET
该API函数应该将JSON结构作为LINQ类接受,这一直都是这样做的。但是,触发API调用时,该类显示为Nothing:
如果我将数据类型更改为Object,则会收到JSON:
我试图解决该问题,但是我无法获取JSON.NET将其转换为LINQ类。文本如下。我真的很感谢任何线索。
原始JSON文本:
{"EdEquipmentGroupID":"64ad9365-1e61-4133-bd8c-38ff70b0fdd6","EdEquipmentGroupName":"Incubators","EdEquipmentGroupCurrent":true,"EdEquipmentGroupRules":[{"RuleName":"Logging Interval (Minutes)","RuleUse":1,"RuleValue":"10"},{"RuleName":"Rollover (Yes or No)","RuleUse":1,"RuleValue":"Yes"},{"RuleName":"Download Interval Required (Days)","RuleUse":1,"RuleValue":"6"},{"RuleName":"Temperature Low Limit (°C)","RuleUse":1,"RuleValue":"36.7"},{"RuleName":"Temperature High Limit (°C)","RuleUse":1,"RuleValue":"37.2"},{"RuleName":"Temperature Low Permitted Consecutive (Minutes)","RuleUse":1,"RuleValue":"30"},{"RuleName":"Temperature High Permitted Consecutive (Minutes)","RuleUse":1,"RuleValue":"30"},{"RuleName":"Disable Alerts (Yes or No)","RuleUse":1,"RuleValue":"No"}]}
经过格式化以提高可读性:
{
"EdEquipmentGroupID": "64ad9365-1e61-4133-bd8c-38ff70b0fdd6",
"EdEquipmentGroupName": "Incubators",
"EdEquipmentGroupCurrent": true,
"EdEquipmentGroupRules": [
{
"RuleName": "Logging Interval (Minutes)",
"RuleUse": 1,
"RuleValue": "10"
},
{
"RuleName": "Rollover (Yes or No)",
"RuleUse": 1,
"RuleValue": "Yes"
},
{
"RuleName": "Download Interval Required (Days)",
"RuleUse": 1,
"RuleValue": "6"
},
{
"RuleName": "Temperature Low Limit (°C)",
"RuleUse": 1,
"RuleValue": "36.7"
},
{
"RuleName": "Temperature High Limit (°C)",
"RuleUse": 1,
"RuleValue": "37.2"
},
{
"RuleName": "Temperature Low Permitted Consecutive (Minutes)",
"RuleUse": 1,
"RuleValue": "30"
},
{
"RuleName": "Temperature High Permitted Consecutive (Minutes)",
"RuleUse": 1,
"RuleValue": "30"
},
{
"RuleName": "Disable Alerts (Yes or No)",
"RuleUse": 1,
"RuleValue": "No"
}
]
}