用字符串创建JSON

时间:2016-12-20 13:13:28

标签: c# json json.net

我想让JSON与此类似

{
"Name": "xxxxx",
"ApplicationId": "xxxxx",
"Features": [
  {
     "Name": "xxxxx",
     "Code": "xxxxx",
  }
 ]
}

我的代码到目前为止

var json = JsonConvert.SerializeObject(
       new {
            Name = name ,
            ApplicationId = applicationID ,
            Features = (new[]{feature_name , feature_code})
           }, Formatting.None);

我无法弄清楚功能部分,它不会像示例中那样创建。 我看了很多帖子,但没有找到任何关于内部物体的信息。

2 个答案:

答案 0 :(得分:2)

您没有为这些功能指定适当的名称,因此会使用变量名称。

请改用:

new[] { new { Name = feature_name, Code = feature_code } }

此外,您必须提供功能列表,例如使用LINQ。

features.Select(f => new { Name = f.feature_name, Code = f.feature_code })

答案 1 :(得分:1)

另一种方法可以是:

var createJson = new {
    Name = "xxxxx",
    ApplicationId = "xxxxx",
    Features = new[] {
      new  { Name = "xxxxx", Code = "xxxxx" },
      new  { Name = "xxxxx", Code = "xxxxx" }
    }
};
var json = JsonConvert.SerializeObject(createjson, Formatting.Indented);