Heim > Datenbank > MySQL-Tutorial > Wie gehe ich mit leeren oder Null-JTokens um, wenn ich JSON SQL-Parametern in C# zuordne?

Wie gehe ich mit leeren oder Null-JTokens um, wenn ich JSON SQL-Parametern in C# zuordne?

Susan Sarandon
Freigeben: 2025-01-05 22:35:43
Original
733 Leute haben es durchsucht

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

Prüfung auf leeres oder Null-JToken in einem JObject

Problem:

In einem C# Anwendung versucht der folgende Code, ein JArray von JObjects zu durchlaufen und SQL-Parametern mithilfe der JTokenToSql-Methode Werte zuzuweisen. Wenn jedoch eine Eigenschaft im JObject leer oder null ist, funktioniert die JTokenToSql-Methode nicht wie erwartet.

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

foreach (JObject item in clients.Children())
{
    command.Parameters["@MyParameter"].Value = JTokenToSql(item["thisParameter"]);
}
Nach dem Login kopieren

JTokenToSql ist definiert als:

public static object JTokenToSql(JToken obj)
{
    if (obj.Any())
        return (object)obj;
    else
        return (object)DBNull.Value;
}
Nach dem Login kopieren

Lösung:

Um zu überprüfen, ob eine Eigenschaft auf einem JObject vorhanden ist, verwenden Sie die Syntax in eckigen Klammern und prüfen Sie, ob die Ergebnis ist null. Wenn die Eigenschaft vorhanden ist, wird ein JToken zurückgegeben, auch wenn sein Wert im JSON null ist.

JToken token = jObject["param"];
if (token != null)
{
    // the "param" property exists
}
Nach dem Login kopieren

Um zu überprüfen, ob ein JToken nicht leer ist, sollten Sie eine Erweiterungsmethode wie die folgende in Betracht ziehen:

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)
    }
}
Nach dem Login kopieren

Diese Methode gibt true zurück, wenn das Token null, leer oder vom undefinierten Typ ist.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit leeren oder Null-JTokens um, wenn ich JSON SQL-Parametern in C# zuordne?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage