2
return jsSerializer.Deserialize<MamDataResponseHolder>(stringJson);

例外をスローします:

型 'System.String' は、配列の逆シリアル化ではサポートされていません。

しかし、私は問題がわかりません。

 public class MamDataResponseHolder
    {
        public MamDataResponsePair[] configuration { get; set; }
        public string Status { get; set; }
    }

  public class MamDataResponsePair
    {
        public string id { get; set; }
        public MamDataResponsecriteria[] criterias { get; set; }
    }

 public class MamDataResponsecriteria
    {
        public Guid criteriaId { get; set; }
        public string[] domains { get; set; }
        public string domainsException { get; set; }
    }

そして、ここにjsonがあります:

    {
        "configuration": [{
            "id": "Coupon Body",
            "criterias": [{
                "criteriaId": "c7150fc2-72b9-4628-a199-dd5c0bdeef1b",
                "domains": [""],
                "domainsException": [""]
            }]
        }],
        "Status": "succeeded"
    }
4

2 に答える 2

2

モデルと Json が一致しません。をご覧くださいdomainsException。Json では明らかに文字列配列ですが、モデルでは単なる文字列です。

それに加えて、本当にJsonに入れたい[""]ですか?そうすれば、空の配列ではなく、空の文字列を持つ配列を取得できます。

于 2013-03-12T08:59:05.667 に答える
1

クラスは次のようになります。

public class Criteria
{
    public string criteriaId { get; set; }
    public List<string> domains { get; set; }
    public List<string> domainsException { get; set; }
}

public class Configuration
{
    public string id { get; set; }
    public List<Criteria> criterias { get; set; }
}

public class RootObject
{
    public List<Configuration> configuration { get; set; }
    public string Status { get; set; }
}
于 2013-03-12T09:02:22.850 に答える