Org*_*gil 1 c# json jsonconvert webapi .net-6.0
我在 .net 6.0 上有 c# webapi。我正在将 postdata 从客户端获取到 param_class 到 _input 中。该类如下:
public class param_class
{
public string? name { get; set; }
public object? value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
客户端以 json 字符串形式发送数据,如下所示:
{
"name": "lotnum",
"value": 143
}
Run Code Online (Sandbox Code Playgroud)
在 webapi 中,当我获取值字段时,会抛出错误 JsonElement 无法转换为 Int。
var v = (int)_input.value;
Run Code Online (Sandbox Code Playgroud)
如何在.net 6.0的webapi中将JsonElement转换为其他类型?
value将类型更改为int,默认反序列化将为您处理此问题。
现在实际发生的情况是,当您拥有object属性的类型时,JsonElement因为这是发送的类型JS。但是,如果您将其更改为预期类型,默认反序列化器知道如何转换为JsonElement您期望的特定类型。(因为JsonElement它本身发送它是什么类型)
当然,您可以选择按如下方式进行后期投射:
var v = ((JsonElement)_input.value).GetInt32();
Run Code Online (Sandbox Code Playgroud)
我强烈建议你不要这样做!
| 归档时间: |
|
| 查看次数: |
3408 次 |
| 最近记录: |