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; } }
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()); }
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!