Verwenden Sie JSON.NET, um JSON-Zeichenfolgen zu validieren
Die Sicherstellung der Gültigkeit von JSON-Strings ist für die Datenintegrität von entscheidender Bedeutung. So erreichen Sie dies mit JSON.NET:
Verwenden Sie Code mit einem Try-Catch-Block:
Der empfohlene Ansatz besteht darin, die Zeichenfolge in einem Try-Catch-Block zu analysieren und alle Ausnahmen zu behandeln, die während der Analyse auftreten. Ein Beispiel ist wie folgt:
<code class="language-csharp">using Newtonsoft.Json; public static bool IsValidJson(string strInput) { 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; } }</code>
Objekt- oder Array-Struktur prüfen:
Um die Validierung weiter zu verbessern, überprüfen Sie, ob die Zeichenfolge mit „{“ (für Objekte) oder „[“ (für Arrays) beginnt und mit „}“ bzw. „]“ endet. Dies gewährleistet die korrekte JSON-Struktur vor dem Parsen.
<code class="language-csharp">... if ((strInput.StartsWith("{") && strInput.EndsWith("}")) || (strInput.StartsWith("[") && strInput.EndsWith("]"))) { ... } ...</code>
Alternative: Verwenden Sie den System.Json-Namespace:
Wenn Sie JSON.NET nicht verwenden können, können Sie den System.Json-Namespace in .Net Framework 4.5 verwenden. Ein Beispiel ist wie folgt:
<code class="language-csharp">using System.Json; string jsonString = "someString"; try { var tmpObj = JsonValue.Parse(jsonString); } catch (FormatException fex) { Console.WriteLine(fex); } catch (Exception ex) { Console.WriteLine(ex.ToString()); }</code>
Nicht-Code-Optionen: Online-Tools:
Für die schnelle Validierung kleiner JSON-Strings sind Online-Tools wie JSONLint hilfreich. Sie können auch eine Site wie json2csharp.com verwenden, um Vorlagenklassen zu generieren und JSON.NET zum Deserialisieren des JSON verwenden.
Das obige ist der detaillierte Inhalt vonWie validiere ich JSON-Strings mit JSON.NET und anderen Methoden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!