2016-09-20 9 views
-1

Ich habe Array in JSON-Datei. Datei sieht so aus:Überprüfen, ob der Benutzer in der Liste ist

["Maverick", "rick", "Rick", "prick", "rick_07"] 

Ich habe einen Benutzernamen. Ich möchte überprüfen, ob dieser Benutzername in Array ist.

public string UserToCheck = "rick"; 

So im Lese JSON-Datei von URL ...

using (var webClient = new System.Net.WebClient()) 
{ 
    var json = webClient.DownloadString("http://example.ex/users.json"); 
    // Here I want to check if user is on list 
    } 
} 

Aber wie kann ich überprüfen, ob "UserToCheck" genau einen der Benutzer von Array überein?

+1

machen Sie eine einfache Google-Suche beim Parsen einer JSON-Datei oder tun Sie dies zum Beispiel in einer Google-Suche 'C# stackoverflow wie nach einer Zeichenfolge innerhalb JSON-Array zu überprüfen ' – MethodMan

+0

Muss ich diese Datei analysieren? – Chamov

+0

Wenn Sie wirklich wenig Daten haben, verwenden Sie einfach String.Contains. Wenn Sie jedoch mehr haben, wird Parsing wahrscheinlich eine bessere Leistung bieten. –

Antwort

2

Sie könnten Ihre Json mit dem großen Newtonsoft Json Library analysieren:

var users = JsonConvert.DeserializeObject<List<string>>(json);  
users.Contains(UserToCheck); 

Da dieser Fall empfindlich ist, könnten Sie LINQ verwenden: users.Any(u => String.Equals(u, UserToCheck, StringComparison.OrdinalIgnoreCase))

+1

Ihr Code ist genau das, was ich brauchte. Funktioniert perfekt! Vielen Dank! – Chamov

1

Der Versuch, das Objekt mit JSON Parsen Parsen. Dazu muss das JSON-Zeichenfolgenobjekt in die Methode JSON.Parse platziert werden.

Dieser Teil fehlt:

JObject jObj = JObject.Parse(json); 
Console.WriteLine(jObj); 

Hilfreiche Links: http://www.newtonsoft.com/json/help/html/ParseJsonObject.htm http://masnun.com/2011/07/08/quick-json-parsing-with-c-sharp.html

die Zeichenfolge für Namen zu überprüfen, bricht die Namen bis in eine Liste mit C# und durchlaufen, dass die überprüfen Ergebnisse.

Verwandte Themen