wie man in github einen gist erstellt, der json-daten zurückgibt

Lesezeit: 4 Minuten

Benutzer-Avatar
Vignesh Subramanian

Ich bin auf einen Kern gestoßen, der JSON-Daten zurückgibt
https://gist.githubusercontent.com/rdsubhas/ed77e9547d989dabe061/raw/6d7775eaacd9beba826e0541ba391c0da3933878/gnc-js-api

Ich habe versucht, eine zu erstellen, um JSON-Daten zurückzugeben, und bin so gelandet
https://gist.github.com/vigneshvdm/862ec5a97bbbe2021b79

Wie kann ich einen Link wie den ersten erstellen und Daten im JSON-Format zurückgeben?

  • Nun, wenn Sie nach vollständigem JSON-Speicher auf Ihrem Github suchen, würde ich Sie empfehlen JSONGist.io

    – spurushottam13

    4. Februar um 10:15 Uhr

Benutzer-Avatar
Adam Plocher

Das Problem ist der HTTP-Antworttyp text/plain aber du wirst brauchen application/json für die meisten Kunden, damit richtig umzugehen.

Update: Mit rawgit.com konnte ich Ihren Test mit dem richtigen Inhaltstyp zum Laufen bringen.

Mein Test-Gist: https://gist.githubusercontent.com/anonymous/85dbc2c71023f24c2e26/raw/849848a71a1805a314897f9fe98eb7dc43e2e9b9/gistfile1.json

Meine RawGit-URL: https://rawgit.com/anonymous/85dbc2c71023f24c2e26/raw/849848a71a1805a314897f9fe98eb7dc43e2e9b9/gistfile1.json

Verwenden von HTTP GET, Senden über:

GET https://rawgit.com/anonymous/85dbc2c71023f24c2e26/raw/849848a71a1805a314897f9fe98eb7dc43e2e9b9/gistfile1.json HTTP/1.1
Accept: application/json
Host: rawgit.com

Rücknahme:

HTTP/1.1 200 OK
Server: nginx
Date: Wed, 24 Dec 2014 10:57:07 GMT
Content-Type: application/json
Connection: keep-alive
X-Content-Type-Options: nosniff
X-Robots-Tag: none
RawGit-Naughtiness: 0
Access-Control-Allow-Origin: *
ETag: "0250189db62d31523a5cd0da47449eb4"
Cache-Control: max-age=300
Vary: Accept-Encoding
RawGit-Cache-Status: HIT
Content-Length: 104

[{ Name: "Vignesh", Salary: 30000 },{ Name: "Yuvraj", Salary: 90000 },{ Name: "Nithya", Salary: 87000 }]

Und ein paar Screenshots:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

  • Wie kann ich den Inhaltstyp ändern?

    – Vignesh Subramanian

    24. Dezember 2014 um 10:31 Uhr

  • Das wird auf dem Server gesteuert und es scheint nicht, dass GitHub diese Fähigkeit bereitstellt. Wenn Sie für den Client verantwortlich sind, der ihn verarbeitet, können Sie ihn höchstwahrscheinlich zum Laufen bringen, indem Sie ihn den Typ ignorieren lassen – oder einen leichten Proxy-Webserver zusammenstellen, der die Textzeichenfolge herunterlädt und sie mit diesem HTTP-Header reserviert … Welche Sprache/Technologie wird auf dem Client verwendet?

    – Adam Plocher

    24. Dezember 2014 um 10:33 Uhr


  • kann ich so etwas wie JSON.parse(data) hinzufügen, um es in json zu konvertieren?

    – Vignesh Subramanian

    24. Dezember 2014 um 10:35 Uhr

  • Ich versuche das gleiche zu tun, aber für a .js Datei und es scheint, als würde sie keine zurückgeben content-type Überschrift überhaupt. Hat das noch jemand erlebt?

    – Roberto Andrade

    2. Juli 2015 um 12:26 Uhr

  • Verwenden Sie Fiddler, um dies anzuzeigen? Senden Sie zuerst den Accepts-Header? Accepts teilt dem Server mit, welche Fähigkeiten der Client hat (oder was er erwartet), und basierend darauf sollte der Server mit den richtigen Headern und Informationen antworten

    – Adam Plocher

    3. Juli 2015 um 11:28 Uhr

Benutzer-Avatar
Hyaden

  1. Setzen Sie Ihren Json in einen neuen Kern.
  2. Suchen Sie nach der Option raw. Klicken Sie darauf und Sie haben eine reine Textversion von allem, was Sie hatten.

Zu beachten ist, dass JSON-Daten angezeigt werden, die Header jedoch enthüllen – Content-Type:text/plain

Sie können verwenden https://rawgit.com/ zum Ändern der Kopfzeilen.

  • Wie soll ich es in json ändern?

    – Vignesh Subramanian

    24. Dezember 2014 um 10:33 Uhr

  • Du kannst nicht. Wenn der Github-Server die Antwort rendert, legt er den Inhaltstyp als Text/Plain fest. Es sei denn, Sie betreiben Ihren eigenen Server oder leiten die Anfrage über einen anderen Server zurück, der die Header ändert.

    – Hyaden

    24. Dezember 2014 um 10:34 Uhr

  • @vignesh Sie möchten Ihre Datei beim Erstellen des Kerns als JSON-Datei speichern

    – Hyaden

    24. Dezember 2014 um 10:39 Uhr

  • RawGit hat das Ende seiner Nutzungsdauer erreicht

    – Werkzeugkasten

    15. Oktober 2019 um 14:49 Uhr

Ich denke, die beste Option dafür ist die direkte Verwendung der Github REST API:

GET https://api.github.com/gists/:GIST_ID HTTP/1.1
Accept: application/json

Dann können Sie den neuesten Dateiinhalt (JSON) aus der Antwort unter Pfad abrufen "files.{FILE_NAME}.content"

Die Antwort enthält auch einige andere nützliche Dinge wie Verlaufs- und Autoreninformationen, Zeitstempel usw.

Dadurch werden mehrere Nachteile anderer Ansätze eliminiert:

  1. Die Verwendung einer Raw-Gist-URL ist eine statische URL für eine bestimmte Überarbeitung des Kerns. Wenn der Kern aktualisiert wird, zeigt die Rohkern-URL auf eine ältere Revision
  2. Rohgit wird heruntergefahren, so dass sich die Verwendung für Ihr Projekt als fatal erweisen wird.
  3. Direktes Abrufen von Gist-URL. Sie müssen HTML analysieren. Kein Bedarf! ¯\_(ツ)_/¯

  1. Fügen Sie den gültigen JSON-Text in den Kern ein.
  2. Geben Sie ihm einen Dateinamen, der auf .json endet.
  3. Erstellen Sie das Wesentliche.
  4. Wählen Sie jetzt einfach die Raw-Schaltfläche und verwenden Sie diese URL für Ihre Get-Anfrage.

Funktioniert bei mir.

Die Header sagen, dass es sich um Text handelt, aber es ist gültiges JSON.

Ihr Kern ist kein gültiges JSON. Ich denke, das ist das Problem für Sie. Schlüssel müssen Zeichenfolgen sein. https://jsonlint.com/

1139230cookie-checkwie man in github einen gist erstellt, der json-daten zurückgibt

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy