将 javascript 数组导入 MVC

Import javascript array into MVC

我有以下 javascript:

{
   "presenceDetected":true,
   "timestamp":1571219073514,
   "RegionMap":{
      "0":1,
      "1":0
   },
   "deviceId":" TEST_DEVICE_ID "
}

和我当前的 C# MVC class:

[DataContract]
public class Presence
{
    [DataMember]
    public bool presenceDetected { get; set; }
    [DataMember]
    public long timestamp { get; set; }
    [DataMember]
    public Array RegionMap { get; set; }
    [DataMember]
    public string deviceId { get; set; }
}

还有我的API方法:

public void MonitorPresence([FromBody] Presence APresenceData)
{
//Loop thru RegionMap here.
}

虽然这似乎引入了数组 - 但实际上我没有得到任何值。我确定它错了。区域地图数组中可能有 0、1 或 2+ 个值。

我无法更改 JSON - 如何构建我的 class 以接受 RegionMap 数组?

修复您的 class,用 Dictionary

替换 Array RegionMap
[DataContract]
public class Presence
{
    [DataMember]
    public bool presenceDetected { get; set; }
    [DataMember]
    public long timestamp { get; set; }
    [DataMember]
    public Dictionary<string,string> RegionMap { get; set; }
    [DataMember]
    public string deviceId { get; set; }
}