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; }
    }
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 に答える