Maison > développement back-end > C++ > Comment puis-je vérifier efficacement la validité d'une chaîne JSON à l'aide de JSON.NET ou System.Json ?

Comment puis-je vérifier efficacement la validité d'une chaîne JSON à l'aide de JSON.NET ou System.Json ?

Patricia Arquette
Libérer: 2025-01-10 21:57:43
original
936 Les gens l'ont consulté

How Can I Efficiently Verify JSON String Validity Using JSON.NET or System.Json?

Moyen efficace de garantir la validité des chaînes JSON : JSON.NET et System.Json

Dans le traitement des données, il est crucial de vérifier que la chaîne d'origine est un JSON valide. JSON.NET et System.Json fournissent des solutions fiables.

Mise en œuvre du code :

Le moyen le plus fiable consiste à utiliser la méthode JToken.Parse de JSON.NET et à l'imbriquer dans un bloc try-catch. Cela permet d'analyser la chaîne et d'intercepter toutes les exceptions indiquant que le JSON n'est pas valide.

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

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 jex)
        {
            // 解析异常
            Console.WriteLine(jex.Message);
            return false;
        }
        catch (Exception ex)
        {
            // 其他异常
            Console.WriteLine(ex.ToString());
            return false;
        }
    }
    else
    {
        return false;
    }
}
Copier après la connexion
L'espace de noms

de System.Json.NET Framework 4.5 fournit également la méthode JsonValue.Parse :

using System.Runtime.Serialization.Json;

string jsonString = "someString";
try
{
    var tmpObj = JsonValue.Parse(jsonString);
}
catch (FormatException fex)
{
    // 无效的JSON格式
    Console.WriteLine(fex);
}
catch (Exception ex)
{
    // 其他异常
    Console.WriteLine(ex.ToString());
}
Copier après la connexion

Aucun code requis :

Pour les chaînes JSON plus petites, vous pouvez utiliser des outils en ligne tels que JSONLint et JSON2CSharp pour vérifier leur validité et générer des classes de modèles pour la désérialisation.

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 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