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

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

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-10 21:52:42245parcourir

How Can I Validate JSON Strings Using JSON.NET and Other Methods?

Utilisez JSON.NET pour valider les chaînes JSON

JSON.NET fournit plusieurs méthodes pour vérifier si une chaîne est une donnée JSON valide.

Utilisez le bloc try-catch :

Une approche courante consiste à analyser la chaîne dans un bloc try-catch :

<code class="language-csharp">try
{
   var obj = JToken.Parse(strInput);
   // 解析成功,JSON 有效。
}
catch (JsonReaderException ex)
{
   // 捕获异常,JSON 无效。
}
catch (Exception ex)
{
   // 其他异常,根据情况处理。
}</code>

Vérifiez les caractères de début et de fin :

De plus, vous pouvez vérifier si une chaîne commence par "{" ou "[" et se termine respectivement par "}" ou "]" :

<code class="language-csharp">private static bool IsValidJson(string strInput)
{
   if ((strInput.StartsWith("{") && strInput.EndsWith("}")) ||
      (strInput.StartsWith("[") && strInput.EndsWith("]")))
   {
      try
      {
         var obj = JToken.Parse(strInput);
         return true;
      }
      catch
      {
         return false;
      }
   }
   return false;
}</code>

Utilisez l'espace de noms System.Json (aucun JSON.NET requis) :

Si vous ne souhaitez pas utiliser JSON.NET, vous pouvez utiliser l'espace de noms System.Json :

<code class="language-csharp">try
{
   var tmpObj = JsonValue.Parse(jsonString);
   // JSON 有效。
}
catch
{
   // JSON 无效。
}</code>

Méthodes sans code :

Pour les chaînes JSON plus petites, si vous préférez la validation manuelle, vous pouvez :

  • Utilisez des outils en ligne, tels que JSONLint, pour vérifier la validité.
  • Copiez une chaîne JSON valide sur JSON2csharp.com, générez un modèle de classe et désérialisez à l'aide de JSON.NET.

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