Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# JObject-动态添加新对象_C#_Asp.net_Json_Json.net - Fatal编程技术网

C# JObject-动态添加新对象

C# JObject-动态添加新对象,c#,asp.net,json,json.net,C#,Asp.net,Json,Json.net,我有一个这样的工作项目: JObject grid = new JObject( new JProperty("myprop", "value 1"), new JProperty("name", new JArray( new JObject( new JProperty("my

我有一个这样的工作项目:

JObject grid =
            new JObject(
            new JProperty("myprop", "value 1"),
            new JProperty("name", 
                new JArray(
                                new JObject(
                        new JProperty("myprop2", "value 2")
                    )
                )
            )
        )
这没什么错

但是,我有一个我想要迭代的对象,并将它们添加到我的JObject中,但是如何做到这一点呢

像这样?(我知道这是无效的)


我该怎么做呢?

如果您事先知道数组项,为什么不先创建它们呢

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
                        )
                    )
                )
            )
        )
var myprop2Items=new List();
foreach(myObject中的var值){
myprop2Items.Add(新作业对象)(
新JProperty(value.Name、value.value)
));
} 
作业对象网格=
新作业项目(
新JProperty(“myprop”,“值1”),
新的JProperty(“名称”,
新杰瑞(
新作业项目(
新JProperty(“myprop2”、“值2”),
myprop2Items
)
)
)
)
)

您还可以向现有作业对象添加属性:

var obj = new JObject();
Console.WriteLine(obj.ToString()); // {}

obj.Add("key", "value");
Console.WriteLine(obj.ToString()); // {"key": "value"}

如果它是空的,怎么检查?所以我不应该添加一个,。添加最后一个属性的末尾您是否尝试获取对象的成员或同质对象列表?您不能像在JavaScript中那样简单地迭代C#对象中的属性。您是否考虑过使用Newtonsoft.Json来序列化和反序列化Json中的对象?但这不仅仅是属性,还包括JObjects和Jarray?是的,您不仅可以添加字符串等基本标记,还可以添加对象和数组。
var obj = new JObject();
Console.WriteLine(obj.ToString()); // {}

obj.Add("key", "value");
Console.WriteLine(obj.ToString()); // {"key": "value"}