修改类型的JSON元素“动态”
我正在尝试对一些JSON数据进行估算,对数据的一小部分进行修改,然后重新序列化为JSON格式。
JSON数据看起来像这样:
{
"name": "...",
"type": "...",
"values": [0, 1, "apple", ...],
...
}
value
是一个具有未知数元素的混合型数组,因此我使用 dynamic
用于其C#模型的类型:
public class Model
{
[JsonPropertyName("name")]
public String Name { get; set; }
[JsonPropertyName("type")]
public String Type { get; set; }
[JsonPropertyName("values")]
public dynamic Values { get; set; }
...
}
Deserialization该对象很简单:
Value = model.Values[0].GetDouble();
但是,我无法写入它,因为 dynamic
显然仅读取:
model.Values[0] = 1.0;
microsoft.csharp.runtimebinder.runtimebinderexception:'属性或索引器'system.text.json.jsonelement.this [int]'不能分配给 - 仅读取'
我该如何实现这一点?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
jobject
。jobj [“ values]
为jarray
。jarray
value,并分配给jobj [values']
代码
> ; dynamic> 类型或类型。
>
arraylist
JObject
.jObj["values]
asJArray
.JArray
value and assign tojObj["values"]
.Sample .NET Fiddle
Or apply the
Values
property asList<dynamic>
type orArrayList
type.Sample .NET Fiddle