解码json给出异常

时间:2013-03-03 05:04:00

标签: c# json c#-4.0

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

  

类型'System.InvalidOperationException'的第一次机会异常   发生在System.Web.Extensions.dll

中      

其他信息:不支持输入“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; }
    }

1 个答案:

答案 0 :(得分:1)

你的JSON:

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

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

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

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

public class payload
{
    public string[] js { get; set; }
}