Maison > développement back-end > C++ > Comment puis-je valider les chaînes JSON à l'aide de JSON.NET ou de méthodes alternatives ?

Comment puis-je valider les chaînes JSON à l'aide de JSON.NET ou de méthodes alternatives ?

Linda Hamilton
Libérer: 2025-01-10 22:16:45
original
825 Les gens l'ont consulté

How Can I Validate JSON Strings Using JSON.NET or Alternative Methods?

Utilisez JSON.NET pour vérifier la validité de la chaîne JSON

S'assurer que la chaîne est au format JSON valide est essentiel pour l'intégrité des données. La bibliothèque de traitement JSON populaire JSON.NET fournit plusieurs méthodes pour valider les chaînes JSON.

Utilisez TryParse ou JToken.Parse

Malheureusement, JSON.NET ne dispose pas de la méthode TryParse. Cependant, vous pouvez utiliser JToken.Parse dans un bloc try-catch :

<code class="language-csharp">private static bool IsValidJson(string strInput)
{
    if (string.IsNullOrWhiteSpace(strInput)) { return false; }
    strInput = strInput.Trim();
    try
    {
        var obj = JToken.Parse(strInput);
        return true;
    }
    catch (JsonReaderException)
    {
        return false;
    }
    catch (Exception)
    {
        return false;
    }
}</code>
Copier après la connexion

Vérifications supplémentaires pour les structures d'objets et de tableaux

Pour améliorer l'exactitude de la vérification, les contrôles supplémentaires suivants peuvent être envisagés :

<code class="language-csharp">private static bool IsValidJson(string strInput)
{
    if (string.IsNullOrWhiteSpace(strInput)) { return false; }
    strInput = strInput.Trim();
    if ((strInput.StartsWith("{") && strInput.EndsWith("}")) || // 对象
        (strInput.StartsWith("[") && strInput.EndsWith("]"))) // 数组
    {
        try
        {
            var obj = JToken.Parse(strInput);
            return true;
        }
        catch (JsonReaderException)
        {
            return false;
        }
        catch (Exception)
        {
            return false;
        }
    }
    else
    {
        return false;
    }
}</code>
Copier après la connexion

Alternatives qui ne nécessitent pas JSON.NET

Si vous ne parvenez pas à utiliser JSON.NET, envisagez d'utiliser l'espace de noms System.Json dans .NET :

<code class="language-csharp">string jsonString = "someString";
try
{
    var tmpObj = JsonValue.Parse(jsonString);
}
catch (FormatException)
{
    // 无效的 JSON 格式
}
catch (Exception)
{
    // 其他异常
}</code>
Copier après la connexion

N'oubliez pas que cette méthode nécessite l'installation du package System.Json NuGet.

Approche sans code

Pour une validation rapide des petites chaînes JSON, vous pouvez utiliser des outils en ligne tels que JSONLint. Ils peuvent identifier les erreurs de syntaxe JSON et fournir des commentaires utiles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal