0

我试图获得价值js,但我得到:

System.Web.Extensions.dll 中出现“System.InvalidOperationException”类型的第一次机会异常

附加信息:数组的反序列化不支持类型“System.String”。

如何解决这个问题?

  string a = "{\"payload\":{\"js\":[\"abc\"]}}";
    JavaScriptSerializer ser = new JavaScriptSerializer();
                JSONData j = ser.Deserialize<JSONData>(a);
                Console.WriteLine(j.payload.js.ToString());

    public class JSONData
    {
        public payload payload { get; set; }
    }
    public class payload
    {
        public string js { get; set; }
    }
4

1 回答 1

1

你的 JSON:

{ "payload": { "js": ["abc"] } }

该成员js不是字符串,而是字符串数组。修改您的 JSON 以匹配您的类结构:

{ "payload": { "js": "abc" } }

...或修改您的类结构以匹配您的 JSON:

public class payload
{
    public string[] js { get; set; }
}
于 2013-03-03T05:07:18.753 回答