使用JSON.Net进行C#到JSON序列化

Mad*_*tal 31 serialization json json.net

我有一个C#List,看起来像这样:

var reqUsers = from user in users
    select new
    {
        username = user.username,
        firstName = user.firstName,
        lastName = user.lastName,
        email = user.email
    };
Run Code Online (Sandbox Code Playgroud)

我使用下面的转换/序列化为JSON(Newtonsoft.JSON):

var json = JsonConvert.SerializeObject(reqUsers);
Run Code Online (Sandbox Code Playgroud)

使用上面的代码我得到一个像这样的json字符串:

[{ username: "alan", firstName: "Alan", lastName: "Johnson", email: "alan@test.com" },
 { username: "allison", firstName: "Allison", lastName: "House", email: "al@test.com" },
 { username: "ryan", firstName: "Ryan", lastName: "Carson", email: "ryan@test.com" } ]
Run Code Online (Sandbox Code Playgroud)

但这是我需要得到的:因为我正在使用把手模板 -

var testdata = {
  users: [
  { username: "alan", firstName: "Alan", lastName: "Johnson", email: "alan@test.com" },
  { username: "allison", firstName: "Allison", lastName: "House", email: "al@test.com" },
  { username: "ryan", firstName: "Ryan", lastName: "Carson", email: "ryan@test.com" } ]
Run Code Online (Sandbox Code Playgroud)

如何使用Serializer如上所述命名JSON数组?

dev*_*tal 76

使用:

var json = JsonConvert.SerializeObject(new { users = reqUsers });
Run Code Online (Sandbox Code Playgroud)

  • 当在 JS 中访问 joson 时,我必须使用 'var thejson = @Html.Raw(json);' 以免报价出现问题 (2认同)