C# 生成嵌套JSON

C# 生成嵌套JSON,c#,json,json.net,C#,Json,Json.net,我想通过c#对象生成这个嵌套的json 这是我的 private static string FormatJson(string json) { dynamic parsedJson = JsonConvert.DeserializeObject(json); return JsonConvert.SerializeObject(parsedJson, Formatting.Indented); } private

我想通过c#对象生成这个嵌套的json

这是我的

private static string FormatJson(string json)
        {
            dynamic parsedJson = JsonConvert.DeserializeObject(json);
            return JsonConvert.SerializeObject(parsedJson, Formatting.Indented);
        }

private void button2_Click(object sender, EventArgs e)
{
    string json = "{\"contest\": { \"name\": \"eatfast\"},\"contestants\":  {\"player\": [";

    Contestants test = new Contestants
    {
        id = 3,
        name = "JESUS"
        //stats;
    };

    json = json + JsonConvert.SerializeObject(test, Formatting.Indented) + "]}}" ;
    System.IO.File.WriteAllText("test.txt", FormatJson(json));
}
输出

{
  "contest": {
    "name": "eatfast"
  },
  "contestants": {
    "player": [
      {
        "id": 3,
        "name": "JESUS"
      }
    ]
  }
}
你能给我一些关于如何在这个例子中添加一个球员,或者如何添加统计时间的想法吗,谢谢你的帮助


或者我应该使用字符串操作手动执行吗?

根据注释,这是您的类的外观()


你可以试试这个工具:把你的json粘贴到那里。可能是重复的,可能是重复的,或者可能是重复的,为什么要随机地对所有东西进行向下投票?!可能有人不赞成“给我代码”之类的问题。不过,我不知道为什么那些人会投票否决好的答案。我想这是因为他们觉得这个问题根本不应该被回答。@John是的,我想是这样的。我仍然认为,即使问题是“给我代码”,ppl和OP本身仍然可以从这些答案中学习……或者80%的C#json问题都有这样的答案和问题。@DragandDrop我应该为回答重复的问题负责:D?
{
  "contest": {
    "name": "eatfast"
  },
  "contestants": {
    "player": [
      {
        "id": 3,
        "name": "JESUS"
      }
    ]
  }
}
public class RootObject
{
    public Contest contest { get; set; }
    public Contestants contestants { get; set; }
}

public class Contest
{
    public string name { get; set; }
}   

public class Player
{
    public int id { get; set; }
    public string name { get; set; }
    public Stats stats { get; set; }
}

public class Stats
{
    public int time { get; set; }
}

public class Contestants
{
    public List<Player> player { get; set; }
}
RootObject obj = JsonConvert.DeserializeObject<RootObject>(yourjsonString);
RootObject obj = new RootObject(); //proper initialisation of your object needed
string json = JsonConvert.SerializeObject(obj);