1

JSON.NET DeserializeObject 関数を使用しましたが、値が得られません。返されるのはすべてNULLです!ヘルプ!

これがコードです(実際には非常に単純なコードです!):

public class FMKey
{
    public string keyName { get; set; }
    public string keyValue { get; set; }
}
public partial class GetFMDetails : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string FMID = "{\"id\":\"22\"}";
        var FM = JsonConvert.DeserializeObject<FMKey>(FMID);

        Response.ContentType = "text/plain";
        Response.Write("Received: " + FM.keyName + " " + FM.keyValue);
    }
}

FM.keyName と FM.keyValue の両方に NULL が含まれています。私は何を間違えましたか?

4

2 に答える 2

1

逆シリアル化しようとしている json が、逆シリアル化しようとしているオブジェクトの定義と一致しません。オブジェクトにid文字列型のフィールドが1つしかない場合、それは機能します。

ジェネリック メソッドで逆シリアル化するには、すべての json プロパティがマップできるフィールドを持つオブジェクトを提供する必要があります。idオブジェクトにフィールドがないため、失敗します。一般的な逆シリアル化メソッドを使用すると、 という文字列型のプロパティを持つ匿名オブジェクトが作成されることがわかりますid

于 2013-05-23T01:15:48.527 に答える