[英]JObject - adding new objects dynamically
I have a JObject like this: 我有一个像这样的JObject:
JObject grid =
new JObject(
new JProperty("myprop", "value 1"),
new JProperty("name",
new JArray(
new JObject(
new JProperty("myprop2", "value 2")
)
)
)
)
Nothing wrong with that. 没有错。
But, I have an object that I want to iterate over, and add them to my JObject, but how to do that? 但是,我有一个要迭代的对象,然后将它们添加到我的JObject中,但是该怎么做呢?
Like this? 像这样? (which is not valid, I know)
(这是无效的,我知道)
JObject grid =
new JObject(
new JProperty("myprop", "value 1"),
new JProperty("name",
new JArray(
new JObject(
new JProperty("myprop2", "value 2"),
foreach(var value in myObject) {
new JObject(
new JProperty(value.Name, value.Value)
)
}
)
)
)
)
How can I do this? 我怎样才能做到这一点?
If you know your array items in advance why not create them first? 如果您事先知道阵列项目,为什么不先创建它们?
var myprop2Items = new List<JObject>();
foreach(var value in myObject) {
myprop2Items.Add(new JObject(
new JProperty(value.Name, value.Value)
));
}
JObject grid =
new JObject(
new JProperty("myprop", "value 1"),
new JProperty("name",
new JArray(
new JObject(
new JProperty("myprop2", "value 2"),
myprop2Items
)
)
)
)
)
You can also add properties to an existing JObject: 您还可以将属性添加到现有的JObject中:
var obj = new JObject();
Console.WriteLine(obj.ToString()); // {}
obj.Add("key", "value");
Console.WriteLine(obj.ToString()); // {"key": "value"}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.