SB2055
SB2055

Reputation: 12852

Cannot deserialize array of integers with WebAPI?

I'm sending the following :

{
    "setIds": ["1", "2"],
    "folderIds": ["3", "4"],
    "filter": "FILTERED"
};

To an API endpoint that accepts a SessionDto:

[DataContract]
public class SessionDto
{

    [DataMember(EmitDefaultValue = true)]
    public Array FolderIds { get; set; }

    [DataMember(EmitDefaultValue = true)]
    public Array SetIds { get; set; }

    [DataMember(IsRequired = true)]
    public string Filter { get; set; }

}

SetIds and FolderIds are always null though; Filter comes through just fine. I'm using newtonsoft.json.serialization. Any idea why this wouldn't be working, or how I can further debug?

Upvotes: 0

Views: 196

Answers (1)

TGH
TGH

Reputation: 39248

[DataMember(EmitDefaultValue = true)]
    public int[] FolderIds { get; set; }

    [DataMember(EmitDefaultValue = true)]
    public int[] SetIds { get; set; }

    [DataMember(IsRequired = true)]
    public string Filter { get; set; }

Try int arrays

Upvotes: 2

Related Questions