2016-07-29 5 views
0

Ich habe ein REST-API erstellt, aber wenn ich es mit einem GET nennen, es gibt diesen:REST API-Antwort enthält „Diese XML-Datei nicht angezeigt ...“

This XML file does not appear to have any style information associated with it. The document tree is shown below. 

<ArrayOfgetSiteList xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Thor"> 
<getSiteList> 
<responseCode>1</responseCode> 
<responseMessage>No message</responseMessage> 
<sites> 
<Sites> 
<siteAddress>11 Main Street054656</siteAddress> 
<siteId>1</siteId> 
<siteName>Sky Towers</siteName> 
</Sites> 
<Sites> 
<siteAddress>1 Grande Street</siteAddress> 
<siteId>2</siteId> 
<siteName>Hotel Grande</siteName> 
</Sites> 
</sites> 
</getSiteList> 
</ArrayOfgetSiteList> 

Wie kann ich es bekommen um nur den JSON-Text innerhalb der eckigen Klammern zurückzugeben und nicht den Teil "Diese XML-Datei ..."? Gibt es einige Header, die ich der Antwort hinzufügen soll, und wenn ja, wie/wo füge ich sie hinzu?

Auch, wie bekomme ich es formatiert/eingerückt schön wie http://echo.jsontest.com/key/value/mykey/myvalue/anotherkey/anothervalue?

Danke für die Hilfe.

+1

das ist nicht xml ... das ist JSON. Genau wie gibst du diesen JSON aus? wenn es etwas albern ist wie 'header ('Content-type: text/xml'); echo json_encode ($ arr); ', dann bekommst du genau das, was du dem System gesagt hast: gib json aus und lüge, dass es xml ist. –

+0

Das ist, weil das XML JSON ist ... – War10ck

+0

Ich habe absichtlich keine Überschriften hinzugefügt. Ich folgte http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/using-web-api-with-aspnet-web-forms und gab den JSON als Liste aus . Wo sollte ich die Header hinzufügen? Wenn ich es auf Postman laufe, gibt es mir die JSON-Ausgabe, nach der ich suche. Aber wenn ich es in einem Webbrowser (Chrome) starte, erscheint die obige Ausgabe. – Windhoek

Antwort

0

Anstatt PartialView() zurückzugeben, sollten Sie Json() als ActionResult zurückgeben.

return Json(someItem,JsonRequestBehavior.AllowGet);   
+0

Dies ist eine äußerst rahmenspezifische Antwort auf eine sprachunabhängige Frage. – Evert

+0

Danke. Ich gebe den JSON mit C# aus. Und mein API-Controller gibt eine Zeichenfolge zurück. Meine Frage ist: Was sollte ich in die Saite neben dem einfügen, was in den eckigen Klammern steht? – Windhoek

Verwandte Themen