JSON Antwort verarbeiten?!

03/19/2020 10:16 Pr0xyPlayZ#1
Guten Tag,

folgenden Code verwende ich derzeit in meiner APP

PHP Code:
private void btn_login_Click(object senderEventArgs e)
        {
            if(
txt_username.Text == "" || txt_password.Text == "")
            {
                
MessageBox.Show("Bitte gib deienen Benutzername / Passwort ein!""Fehler");
            } else
            {
                
string username txt_username.Text;
                
string password txt_password.Text;
                
string url "https://example.com/index.php";

                var 
request WebRequest.Create(url "?user-api&method=login&username=" username "&password=" password "&secret=123456");

                
request.ContentType "application/json; charset=utf-8";
                
//request.Headers.Add("");

                
string text;

                var 
response = (HttpWebResponse)request.GetResponse();

                
using (var sr = new StreamReader(response.GetResponseStream()))
                {
                    
text sr.ReadToEnd();
                }
                
MessageBox.Show(text"Response");
            }
        } 
Mein Webserver gibt daraufhin in JSON Format eine Antwort wieder, wenn der Login mit den Daten korrekt ist.

PHP Code:
{"status":200,"data":{"groupID":1,"groupName":"Jeder","members":[{"userID":1,"username":"Example"}]}} 
Bei falschen Daten sieht es dann so aus.

PHP Code:
{"status":412,"message":"Invalid credentials"
Wie kann ich damit nun anständig arbeiten, also was muss ich machen, um den Login damit zu validieren in der App?
03/19/2020 10:40 Mad0ck#2
EDIT: erst nachträglich gesehen, dass wir hier im .net sub forum sind x.x

Quote:
Originally Posted by .Neø View Post
Hi,
PHP Code:
MessageBox.Show("Bitte gib deienen Benutzername / Passwort ein!""Fehler"); 
=> deinen Tippfehler

Zu der anderen Frage.

Die Antwort ( json ) müsste ja in response vorhanden sein.

Kann man da nicht ganz eifnach via response['status'] drauf zugreifen ?

Ala
PHP Code:
if response['status'] == "200":
   
# Login to app

else:
     
# error 
Json ist ja nicht mehr wie ein nested dict.

Lg
03/19/2020 11:13 Ludder231#3
Mit newtonsoft json

Klasse

Dann einfach den json Deserializen:

PHP Code:
var serverResponse JsonConvert.DeserializeObject<JSONResponse>(jsonString); 
dann kannste einfach auf das Object zugreifen und alle Daten benutzen.
03/19/2020 11:26 Pr0xyPlayZ#4
Quote:
Originally Posted by Ludder231 View Post
Mit newtonsoft json

Klasse

Dann einfach den json Deserializen:

PHP Code:
var serverResponse JsonConvert.DeserializeObject<JSONResponse>(jsonString); 
dann kannste einfach auf das Object zugreifen und alle Daten benutzen.
jsonString -> Was ist denn damit gemeint? Verstehe ich nicht!
03/19/2020 18:43 Requi#5
Quote:
Originally Posted by .Neø View Post
jsonString -> Was ist denn damit gemeint? Verstehe ich nicht!
Der response.
04/05/2020 09:38 void_coder#6
[Only registered and activated users can see links. Click Here To Register...]

Einfach das Jason Objekt parsen