首頁 > 資料庫 > mysql教程 > 在 C# 中將 JSON 對應到 SQL 參數時如何處理空或 Null JToken?

在 C# 中將 JSON 對應到 SQL 參數時如何處理空或 Null JToken?

Susan Sarandon
發布: 2025-01-05 22:35:43
原創
736 人瀏覽過

How to Handle Empty or Null JTokens When Mapping JSON to SQL Parameters in C#?

檢查JObject 中是否為空或Null JToken

問題:

問題:

JArray clients = (JArray)clientsParsed["objects"];

foreach (JObject item in clients.Children())
{
    command.Parameters["@MyParameter"].Value = JTokenToSql(item["thisParameter"]);
}
登入後複製

JTokenToSql 定義為:

public static object JTokenToSql(JToken obj)
{
    if (obj.Any())
        return (object)obj;
    else
        return (object)DBNull.Value;
}
登入後複製

解決方案:

要檢查JObject 上是否有屬性,請使用方號語法並檢查結果是否為空。如果屬性存在,即使 JSON 中的值為 null,也會傳回 JToken。

JToken token = jObject["param"];
if (token != null)
{
    // the "param" property exists
}
登入後複製

要檢查 JToken 是否非空,請考慮使用以下擴充方法:

public static class JsonExtensions
{
    public static bool IsNullOrEmpty(this JToken token)
    {
        return (token == null) ||
               (token.Type == JTokenType.Array && !token.HasValues) ||
               (token.Type == JTokenType.Object && !token.HasValues) ||
               (token.Type == JTokenType.String && token.ToString() == String.Empty) ||
               (token.Type == JTokenType.Null) ||
               (token.Type == JTokenType.Undefined)
    }
}
登入後複製

如果 token 為 null、空或未定義類型,此方法將傳回 true。

以上是在 C# 中將 JSON 對應到 SQL 參數時如何處理空或 Null JToken?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板