【发布时间】:2019-04-04 14:38:36
【问题描述】:
我希望能够获取/设置a 的属性值:
{
"payload":[
{
"a":"yes",
"b":"no",
"c":"maybe"
},
{
"a1":"agg",
"b":"no",
"c":"maybe"
},
{
"a":"L",
"b":"k",
"c":"maybe"
}
]
}
我想遍历所有 a 并获取/设置其值。在伪代码中是这样的:
foreach(var jsonObject in payload)
{
jsonObject.a = "ZZZZZZZZ";
}
生成的结构会是这样的:
{
"payload":[
{
"a":"ZZZZZZZZ",
"b":"no",
"c":"maybe"
},
{
"a1":"agg",
"b":"no",
"c":"maybe"
},
{
"a":"ZZZZZZZZ",
"b":"k",
"c":"maybe"
}
]
}
我们如何访问数组中对象的值?
请注意架构是动态的。
【问题讨论】:
-
查看
System.Reflection中的调用。您需要反映每个对象(通过在对象上调用GetType()),获取对象的字段,如果字段名为a并且类型为string,则设置其值“ZZZZZZ” -
这在 json.net 中没有吗?
-
是,索引器操作符(在 JObject 类中)