Werte mit JSON Pointer abfragen
Lesen Sie einen JSON-Wert über einen JSON-Pointer-Pfad aus.
Ihre Dateien werden hier auf Ihrem Gerät verarbeitet
Wir senden Ihre Datei- oder Textinhalte nicht an einen Verarbeitungsserver. Es ist kein Konto erforderlich und es gibt keine tägliche Betriebsquote. Einzelne Tools haben Größenbeschränkungen, um den Speicher Ihres Geräts zu schützen.
Eine Verbindung ist erforderlich, um die Website und ihre Ressourcen zu laden. Hosting kann technische Besuchsdaten erhalten. Favoriten speichern nur Werkzeugkennungen in diesem Browser.
Wie wir mit Ihren Daten umgehen →Wie man dieses Tool benutzt
- Fügen Sie ein gültiges JSON-Dokument ein.
- Geben Sie einen Pfad ein, der mit / beginnt, oder lassen Sie ihn leer, um die Wurzel auszuwählen.
- Suchen Sie den Wert und überprüfen Sie seinen Typ, bevor Sie JSON herunterladen.
Ein Beispiel, das Sie überprüfen können
Rufen Sie den ersten Benutzernamen aus einer fiktiven Antwort ab.
Beispieleingabe
{"users":[{"name":"Ana"}]}Erwartetes Ergebnis
"Ana"
Die Ausgabe behält den JSON-Typ bei: Anführungszeichen zeigen eine Zeichenfolge an. Ein leerer Pfad gibt das gesamte Objekt zurück und /users gibt das Array zurück.
Werte mit JSON Pointer abfragen: Gebrauch und praktische Anleitung
JSON Pointer identifiziert einen Wert unter Verwendung eines bestimmten Pfads in einem JSON-Dokument. Es ist nützlich, wenn eine Antwort verschachtelte Objekte und Arrays enthält, Sie jedoch nur ein Element benötigen. Jedes Pfadsegment beginnt mit einem Schrägstrich. In /users/0/name wählt der Benutzer ein Root-Objekt-Mitglied aus, 0 wählt das erste Array-Element aus und der Name wählt das Element des Elements aus. Das Nachschlagen durchsucht nicht das gesamte Dokument: Es folgt Segmenten in der Reihenfolge und stoppt mit einem Fehler, wenn ein Segment nicht aufgelöst werden kann. Dies unterscheidet einen falschen Pfad von einem vorhandenen Wert, der zufällig null ist.
Ein leerer Pfad wählt das gesamte Dokument. Ein einzelner Schrägstrich wählt eine Eigenschaft mit leerem Namen, falls diese existiert. In Eigenschaftsnamen wird / als ~1 und ~ als ~0 codiert. Beispielsweise wählt /a~1b die Eigenschaft a/b. Die Folge ~01 steht für den Text ~1 und nicht für einen Schrägstrich. Leerzeichen im Pfad werden nicht entfernt, weil sie Teil eines Namens sein können. Namen müssen exakt übereinstimmen: Großschreibung, Akzente und unterschiedliche Unicode-Normalisierungsformen werden unterschieden.
Array-Indizes beginnen bei Null und müssen als nichtnegative ganze Zahlen ohne führende Nullen geschrieben werden. /items/01 wählt nicht das zweite Element aus. Ein Bindestrich wird auch nicht als letztes Element interpretiert; diese Suche ruft nur Werte ab, die bereits vorhanden sind. Ein Name wie der Konstruktor ist nur zugänglich, wenn er ein eigenes Mitglied des JSON-Objekts ist und nicht etwas, das von der Prototyp-Kette von JavaScript geerbt wurde. Die Schnittstelle akzeptiert die Textform von JSON Pointer, nicht JSONPath-Ausdrücke mit Platzhaltern, Filtern oder Dollarzeichen und nicht die URI-Fragmentdarstellung eines Zeigers.
Die Ausgabe behält den JSON-Typ des ausgewählten Werts bei. Strings erscheinen in Anführungszeichen, Zahlen bleiben Zahlen, Null bleibt null und Objekte oder Arrays werden als eingerückte JSON angezeigt. Dadurch können heruntergeladene Fragmente von einem anderen Programm interpretiert werden. Parsing weist doppelte Schlüssel zurück, um mehrdeutige Elementauswahl und ganze Zahlen außerhalb des sicheren Bereichs des Browsers zu verhindern, um Präzisionsverlust zu verhindern. Lange numerische Identifikatoren sollten vom Ursprungssystem als Strings bereitgestellt werden. Input unterstützt eine Million Zeichen, hundert Verschachtelungsebenen und eine begrenzte Anzahl von Elementen, um die Seite reaktionsschnell zu halten. Bei größeren Dokumenten reduzieren Sie zunächst den Inhalt, behalten dabei die vom ausgewählten Pfad benötigte Struktur bei und überprüfen den extrahierten Wert anhand der ursprünglichen Quelle.
Optionen und Grenzen
Fügen Sie JSON und einen Pfad wie /users/0/name ein. Ein leerer Pfad gibt das gesamte Dokument zurück. In Eigenschaftsnamen steht ~1 für / und ~0 für ~. JSONPath und URI-Fragmente werden nicht unterstützt. Doppelte Schlüssel, ganze Zahlen außerhalb des sicheren Genauigkeitsbereichs und mehr als 100 Verschachtelungsebenen werden abgelehnt.
Häufige Fragen
Beginnen Array-Indizes bei Null?
Ja. /items/0 wählt den ersten Artikel aus. Führende Nullen wie /items/01 sind nicht erlaubt.