![](/img/trans.png)
[英]How do I enumerate through a JsonElement Array and then convert it to a List?
[英]How to convert JsonElement to a Int or other primitive types
我在 .net 6.0 上有 c# webapi。 我正在从客户端获取 postdata 到 param_class 到 _input。 class 如下所示:
public class param_class
{
public string? name { get; set; }
public object? value { get; set; }
}
客户端将数据作为 json 字符串发送,如下所示:
{
"name": "lotnum",
"value": 143
}
在 webapi 中,当我获取值字段时抛出错误 JsonElement 无法转换为 Int。
var v = (int)_input.value;
如何在 .net 6.0 的 webapi 中将 JsonElement 转换为其他类型?
将value
类型更改为int
,默认反序列化将为您处理此问题。
现在实际发生的是,当您有一个属性的object
类型时,它是JsonElement
,因为这是JS
发送的类型。 但是如果你把它改成期望的类型,默认的反序列化器就会知道如何从JsonElement
转换成你期望的特定类型。 (因为JsonElement
本身发送它是什么类型)
当然,您可以选择按如下方式进行后期投射:
var v = ((JsonElement)_input.value).GetInt32();
我几乎不建议你这样做!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.