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
Linda Hamiltonoriginal
2025-01-10 22:16:45827parcourir

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>

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>

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>

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!

Déclaration:
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