[英]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.