Ich habe versucht, herauszufinden, wie man eine OData-Antwort in Javascript für ein paar Tage richtig erhalten. Das Problem ist, dass die Antwort als ein Array statt JSON formatiert ist, so dass die Funktion JSON.parse(mydata)
nicht mit den Daten funktioniert, die ich erhalte.OData gibt Array statt JSON zurück - Wie konvertiert man?
Meine Frage ist zweifach: Was ist der richtige Weg ist OData fordern Sie eine Antwort als JSON zu senden und/oder wie kann ich mein aktuelles Antwortformat JSON sein? Hier
ist der Code, den ich verwende:
$.ajax({
type: "GET",
url: requestUri,
dataType: "script",
accept: "application/json",
success: function(data, request) {
var jsonData = JSON.parse(data);
},
error: function(msg) {
alert(msg);
}})
Hier ist ein Beispiel Antwort der Protokollierung die Variable data
mit console.log
:
{"@odata.context":"http://localhost:5001/odata/$metadata#Movies","value":[{"Title":"Pulp Fiction","Genre":"Action","RunTime":0,"Sales":0,"Key":2}]}
Mögliche Duplikat [Konvertieren JS Objekt JSON string] (https://stackoverflow.com/questions/4162749/convert-js -object-to-json-string) – Brian
@Brian Ich habe mich wirklich mehr gefragt, ob meine OData-Anfrage falsch war und diese Frage nichts mit OData zu tun hat. – sczapuchlak