WEB API函数已停止工作-无法识别JSON结构

时间:2019-05-22 09:00:23

标签: vb.net json.net asp.net-web-api2

我的API中的一个已经运行了好几年的函数一周前就停止了工作。该API具有许多功能,但只有这一功能已停止。

在出现问题之前,我更新了几个NUGET软件包。从那以后,我已将它们还原为问题之前的版本。该代码没有其他更改。该网站使用Knockout,这在过去曾给我带来过麻烦,因此JSON可能已更改。 JSON对象对我来说很好。我将其粘贴在下面。该项目使用Newtonsoft JSON.NET

该API函数应该将JSON结构作为LINQ类接受,这一直都是这样做的。但是,触发API调用时,该类显示为Nothing:

data As EditEqGroup

如果我将数据类型更改为Object,则会收到JSON:

data As Object

我试图解决该问题,但是我无法获取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"
        }
    ]
}

0 个答案:

没有答案