如何使用数组C#创建新的JSON



我需要创建以下JSON:

[
    {
      "Name": [
         {
           "First Name": "Adam"
         },
         {
           "Last Name": "Smith"
         }
      ]
    }
]  

请帮助我在这里和json.net上尝试过所有内容

预先感谢您。

好吧...一旦您知道它是如何完成的:)以及对于那些可能有相同问题的人的工作方式,这是一个很有趣的方法,这就是这样做的方法:

JObject myObject = 
       new JObject(
           new JProperty("Name",
                      new JArray(
                                new JObject(
                                new JProperty("First Name", "Adam")),
                                new JObject(
                                new JProperty("Last Name", "Smith")))));
JArray myArray = new JArray
myArray.Add(myObject);

编辑答案:删除了旧答案,解释了我认为问题的问题是问题所在。更改为构建可以创建上面的JSON字符串的C#对象,但没有尝试过,但我认为它应该有效:

这是C#类:

public class Name
{
    [JsonProperty(PropertyName = "First Name")]
    public string FirstName { get; set; }
    [JsonProperty(PropertyName = "Last Name")]
    public string LastName { get; set; }
}
public class RootObject
{
    [JsonProperty(PropertyName = "Name")]
    public List<Name> Name { get; set; }
}

在rootObject中创建名称对象:

var myRootObj = new RootObject();
myRootObj.Name = new List<Name>();
var firstNameObj = new Name() { FirstName = "Adam" };
var secondNameObj = new Name() { LastName = "Smith" };
myRootObj.Name.Add(firstNameObject);
myRootObj.Name.Add(secondNameObject);

现在让我们将此对象转换为JSON:

var json = JsonConvert.SerializeObject(myRootObj, Newtonsoft.Json.Formatting.None, 
                            new JsonSerializerSettings { 
                                NullValueHandling = NullValueHandling.Ignore
                            }););

我没有尝试过,但我认为应该创建您的JSON字符串,例如以下:

    {
      "Name": [
         {
           "First Name": "Adam"
         },
         {
           "Last Name": "Smith"
         }
      ]
    }

相关内容

  • 没有找到相关文章

最新更新