Sonntag, Juli 5, 2020

Json-string bekommt entkam in web-api

wir haben die JSON-Konfiguration in einer Datenbank gespeicherten Daten. ich muss Holen diese JSON-Daten und senden Sie es, wie es ist, an den browser über asp.net web-api:

public class ConfigurationController : ApiController
{
    public string Get(string configId)
    {
        //Get json from database
        //when i return the fetched json it get's escaped
    }
}

Den Wert, dass ich zurückkehre, wird entkommen. wie kann ich einfach den string, wie es ist? Ich möchte wirklich nicht das füllen eines Objekts, wird zu JSON serialisiert.

InformationsquelleAutor sundown | 2014-03-27

5 Kommentare

  1. 18

    Können Sie die Rückgabe einem HttpResponseMessage von der ApiController wodurch Sie im Grunde einen string-Wert.

    z.B.

    public HttpResponseMessage Get()
    {
        return new HttpResponseMessage() { 
            Content = new StringContent("Hello World", System.Text.Encoding.UTF8, "application/json") 
        };
    }

    Was würden Sie tun möchten ist, geben Sie nur den json-string als StringContent.

    • Klappte, danke!
    • Gut zu hören! 😀
    • Diese lösen 2 getrennte Fragen, die ich hatte mit diesem Rahmen. Danke! Wissen Sie, warum dies erforderlich ist, obwohl? Es scheint sinnlos, dass der Rahmen von xml-und json-als integrierte in-Antwort-Format, wenn Sie können nur einen string zurückgeben und nichts mehr Komplex.
    • Die Antwort von wilsotc ist besser, denn der mime-Typ ist falsch in diesem, für die Rückgabe von JSON.
  2. 6

    Die akzeptierte Antwort ist leicht ausschalten. Die richtige version ist:

    public HttpResponseMessage Get()
    {
        return new HttpResponseMessage() { 
            Content = new StringContent("Hello World", System.Text.Encoding.UTF8, "application/json") 
        };
    }

    Es ist die StringContent Funktion, die ordnungsgemäß entfernt die Flucht. Ohne die application/json media type, tools wie postman wird nicht korrekt angezeigt „schöne“ version ist das Ergebnis.

  3. 0
    public HttpResponseMessage GetTravelers(string authkey)
    {
    var json = JsonConvert.SerializeObject(travelList, Global.JsonSettings);
     return new HttpResponseMessage()
     {
       Content = new StringContent(json, System.Text.Encoding.UTF8, 
    "text/html")
           };
  4. -1

    Ja,Haben Sie, Um Change-Methode Geben, Um HttpResponseMessage Instied von string-oder int-Typ

    Haben Sie zu serialisieren Sie Ihre Abfrage mit dem Wert in Json

Kostenlose Online-Tests