11373 Stimmen

Was ist der richtige JSON-Inhaltstyp?

Ich habe herumgespielt mit JSON Ich habe eine Zeit lang nur als Text gepusht, und es hat niemandem geschadet (soweit ich weiß), aber ich würde gerne anfangen, die Dinge richtig zu machen.

Ich habe gesehen also viele vermeintliche "Standards" für den Inhaltstyp JSON:

application/json
application/x-javascript
text/javascript
text/x-javascript
text/x-json

Aber welche ist die richtige oder die beste? Ich vermute, dass es unterschiedliche Sicherheits- und Browserunterstützungsprobleme gibt.

Ich weiß, dass es eine ähnliche Frage gibt, Welcher MIME-Typ, wenn JSON von einer REST-API zurückgegeben wird? aber ich hätte gern eine etwas gezieltere Antwort.

72voto

があります。 Inhalt-Typ Kopfzeile sollte auf '' gesetzt werden anwendung/json ' beim Buchen. Der Server, der auf die Anfrage wartet, sollte den Text " Accept=application/json ". In Spring MVC können Sie das so machen:

@RequestMapping(value="location", method = RequestMethod.POST, headers = "Accept=application/json")

Fügen Sie der Antwort Kopfzeilen hinzu:

HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json");

65voto

Kashif Solangi Punkte 791
  • Content-Type: application/json - JSON
  • Content-Type: application/javascript - JSON-P
  • Content-Type: application/x-javascript - JavaScript
  • Content-Type: text/javascript - JavaScript sondern veraltet. Ältere Versionen des Internet Explorers haben es für HTML-Attribute verwendet.
  • Content-Type: text/x-javascript - JavaScript-Medientypen, sondern veraltet
  • Content-Type: text/x-json - JSON vor anwendung/json wurde offiziell registriert.

0 Stimmen

Für JSON Text: application/json Content-Type: application/json

65voto

eQ19 Punkte 8782

があります。 application/json funktioniert hervorragend in PHP, um ein Array oder Objekt zu speichern Daten.

Ich verwende diesen Code, um Daten in JSON auf Google Cloud-Speicher (GCS) die eingestellt ist öffentlich einsehbar :

$context = stream_context_create([
    'gs' => [
        'acl'=>'public-read', 
        'Content-Type' => 'application/json',
    ]
]);

file_put_contents(
    "gs://BUCKETNAME/FILENAME.json", 
    json_encode((object) $array), 
    false, 
    $context
);

Die Rückgabe der Daten ist ganz einfach:

$data = json_decode(file_get_contents("gs://BUCKETNAME/FILENAME.json"));

62voto

Chand Priyankara Punkte 6576

Unter Frühling Sie haben einen definierten Typ: MediaType.APPLICATION_JSON_VALUE was gleichbedeutend ist mit anwendung/json .

2 Stimmen

Das ist auch Java EE :: javax.ws.rs.core.MediaType

58voto

Mehmet_ Punkte 571

Für JSON, ich bin mit:

Content-Type: application/json

Dies wird im IETF-Vorschlag JSON Data Interchange Format 7158 beschrieben, Abschnitt 1.2: Spezifikationen von JSON .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X