我需要创建以下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"
}
]
}