web-dev-qa-db-ja.com

JSON.Netを使用したC#からJSONへのシリアル化

次のようなC#リストがあります。

var reqUsers = from user in users
    select new
    {
        username = user.username,
        firstName = user.firstName,
        lastName = user.lastName,
        email = user.email
    };

以下を使用して、JSON(Newtonsoft.JSON)に変換/シリアライズします。

var json = JsonConvert.SerializeObject(reqUsers);

上記のコードでは、次のようなjson文字列を取得します。

[{ username: "alan", firstName: "Alan", lastName: "Johnson", email: "[email protected]" },
 { username: "allison", firstName: "Allison", lastName: "House", email: "[email protected]" },
 { username: "ryan", firstName: "Ryan", lastName: "Carson", email: "[email protected]" } ]

しかし、ここに私が取得する必要があるものです:私はハンドルバーテンプレートを使用しているので-

var testdata = {
  users: [
  { username: "alan", firstName: "Alan", lastName: "Johnson", email: "[email protected]" },
  { username: "allison", firstName: "Allison", lastName: "House", email: "[email protected]" },
  { username: "ryan", firstName: "Ryan", lastName: "Carson", email: "[email protected]" } ]

上記のようにJSON配列に名前を付けるためにシリアライザーを使用するにはどうすればよいですか?

31
Madhuri Mittal

つかいます:

var json = JsonConvert.SerializeObject(new { users = reqUsers });
74
devdigital

つかいます:

var json= new JavaScriptSerializer().Serialize(reqUsers);
1
Hithesh