C# Format herausfinden

  • Hallo,

    ich möchte einen Wert aus der Datenbank auslesen. Hierzu habe ich eine PHP API erstellt. Der Wert den mir die API zurückgibt erfoglt in JSON. Nun kann es allerdings auch mal aus welchen Gründen auch immer vorkommen dass es sich nicht um einen JSON Rückgabe Wert handelt. Wie kann ich es am besten behandeln damit es nicht zu einer Fehlermeldung bzw einen Absturz des Programms führt ?


    Bin wie immer über jede Hilfe dankbar.

  • Entweder bevor du parst checken, was zurückkommt, kannst das auch mit Headern ankündigen. Aber man kann die Schnittstelle natürlich auch einfach so gestalten, dass immer JSONs kommen ^^


    Alternativ eine generelle Exception catchen, als die spezielle, bzw schauen, welche geworfen wird, um die zu fangen :)


    #Handy

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Würde es wie Kaliber machen. Du kannst (falls es nur 2 Formate sind) nach JSON parsen. Gibt das einen Fehler aus, kannst du zB in der Exception eine Variable setzen, schauen, ob diese True ist und anschließend deine Ausgabe anders auslesen.


    Wenn du mehrere Ausgabeformate hast, solltest du einen Content-Type Header zurückgeben. Das macht den Code um ein vielfaches sauberer, es ist nicht so hässlich wie oben beschrieben und du wirst dir auch noch nach mehreren Monaten dafür danken, weil der Code sich nämlich von selbst erklärt und du auch direkt weißt, was alles ausgegeben werden kann.

    Dazu kannst du auch eigene Header erfinden und Wiedererkennungsmerkmale übergeben.



    Würde dir ja ein Beispiel geben, mit C# habe ich nur leider nichts am Hut. =D

  • Wie in etwa kann man denn die Formate vor dem Parsen abfragen ? Habe dazu keinen wirklichen Ansatz. Das Allgemeine Catchen unabhängig von meiner Anfrage verhindert zwar einen Fehler aber bringt das Programm auch in einen Modus nicht weiter machen zu können und andere Abfragen zu starten.