JSON オブジェクトをカスタム C# オブジェクトに変換するにはどうすればよいですか? 質問する

JSON オブジェクトをカスタム C# オブジェクトに変換するにはどうすればよいですか? 質問する

AJAX 経由で渡された JSON オブジェクトを C# オブジェクトに取り込む簡単な方法はありますか?

これは、 JSON.stringifyを使用してページからC# Web メソッドに渡される JSON オブジェクトです。

{
    "user": {
        "name": "asdf",
        "teamname": "b",
        "email": "c",
        "players": ["1", "2"]
    }
}

JSON オブジェクトを受け取る C# Web メソッド:

[WebMethod]
public static void SaveTeam(Object user)
{

}

Webメソッドに渡されるJSONオブジェクトのオブジェクト構造を表すC#クラス

public class User
{
    public string name { get; set; }
    public string teamname { get; set; }
    public string email { get; set; }
    public Array players { get; set; }
}

ベストアンサー1

これは、デフォルトのシリアライザーよりも高速な Newtonsoft NuGet パッケージに依存します。

クラスがある場合は、以下のコードを使用できます。

Mycustomclassname oMycustomclassname = Newtonsoft.Json.JsonConvert.DeserializeObject<Mycustomclassname>(jsonString);

クラスがない場合は、動的を使用します。

var oMycustomclassname = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(jsonString);

おすすめ記事