【发布时间】:2018-10-05 10:31:47
【问题描述】:
我正在尝试动态创建一个 JObject 用于单元测试,但它似乎不喜欢 name.subname 作为属性
我试图为其创建 JObject 的 json 是
{ "UserDetails": {
"FirstName": "Test1",
"Surname": "Test2",
"UserID": "123456789",
"Children1.Active1": false,
"Children1.Active2": false
}
}
我的 C# 代码是
dynamic jsonObject = new JObject();
jsonObject.UserDetails = new JObject();
jsonObject.UserDetails.UserID = "123456789";
jsonObject.UserDetails.FirstName = "Test1";
jsonObject.UserDetails.Surname= "Test2";
但是我不确定如何将 Children1.Active 添加到 JObject jsonObject. UserDetails 它不适用于 jsonObject.UserDetails.Children.Active1 = false。
我已经验证了 json 并且它通过了有效 json 的验证。
如何将Children1.Active 添加到JObject?
我试过jsonObject.UserDetails.Children1 = new JObject();
但这会创建一个新的子对象,这不是我需要的。
【问题讨论】:
-
听起来像
Children1需要是一个数组或对象本身。这不是一个好的 JSON 模式。至于问题本身,而不是尝试将JObject作为动态对象访问,而是使用它自己的属性并设置属性和键。在 this 代码中你不需要dynamic- 将UserDetails对象存储在一个单独的变量中,你不需要通过jsonObject访问它