IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: C# - Problém s uvozovkama

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Neaktivní uživatel:26.10.2017 10:26

Ahoj, snažím se získat jestli stránka obsahuje ' "result:"1" '

Ale tu je právě problém s těma uvozovkama.. jak to vyřešit?

if (response.Contains(" "result:"1""))
            {
                Debug.Log("detect");
                return;
            }
Odpovědět
26.10.2017 10:26
Neaktivní uživatelský účet
Avatar
Erik Šťastný:26.10.2017 10:39

Máš hned dvě alternativy:

buď přidat před string @ a pak používat "" na místo "
nebo používat \" na místo "

var response = @" ""result: ""1""";
if (response.Contains(" \"result: \"1\""))
{
    Console.WriteLine("detect");
}

Output:

detect
Editováno 26.10.2017 10:40
 
Nahoru Odpovědět
26.10.2017 10:39
Avatar
Odpovídá na Erik Šťastný
Neaktivní uživatel:26.10.2017 11:33

No já to získávám z webové stránky..

Na webové stránce to je takto:

{"status":"success","result":"0","queryIP":"31.30.99.999","queryFlags":"m","queryOFlags":null,"queryFormat":"json","contact":"[email protected]"}

a jak to zkouším tak mi to nefunguje.. nebo něco dělám špatně

Nahoru Odpovědět
26.10.2017 11:33
Neaktivní uživatelský účet
Avatar
Neaktivní uživatel:26.10.2017 11:49

Ale už jsem dosáhl toho čeho jsem chtěl.. Takže to už nepotřebuju.. ale jinak děkuji za pomoc.

Nahoru Odpovědět
26.10.2017 11:49
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Erik Šťastný:26.10.2017 11:52

No vzhledem k tomu, že tohle je kompletně validní JSON což to co jsi uvedl původně nebyl, tak doporučuji s tím pracovat jako s JSONem.

{
        "status": "success",
        "result": "0",
        "queryIP": "31.30.99.999",
        "queryFlags": "m",
        "queryOFlags": null,
        "queryFormat": "json",
        "contact": "[email protected]"
}

Můžeš použít kompletně noob friendly Json.NET Newstone knihovnu. Práce by vypadala takto nějak.

class Program
{
    static void Main(string[] args)
    {
        string rawJson = "{\"status\":\"success\",\"result\":\"0\",\"queryIP\":\"31.30.99.999\",\"queryFlags\":\"m\",\"queryOFlags\":null,\"queryFormat\":\"json\",\"contact\":\"[email protected]\"}";

        var yourObject = JsonConvert.DeserializeObject<YourClass>(rawJson);

        Console.WriteLine(yourObject.result);
    }
}

class YourClass
{
    public string status;
    public string result;
    public string queryIP;
    public string queryFlags;
    public string queryOFlags;
    public string queryFormat;
    public string contact;
}

Output:

0
Editováno 26.10.2017 11:53
 
Nahoru Odpovědět
26.10.2017 11:52
Avatar
Odpovídá na Erik Šťastný
Erik Šťastný:26.10.2017 12:02

Následná podmínka by pak mohla vypadat:

if (yourObject.result == "1")
{
}
Editováno 26.10.2017 12:04
 
Nahoru Odpovědět
26.10.2017 12:02
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.