检查用户是否在列表中

时间:2016-09-20 17:59:36

标签: c# arrays json contains exists

我在JSON文件中有数组。文件看起来像这样:

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

我有一个用户名。我想检查这个用户名是否在Array中。

public string UserToCheck = "rick";

所以我正在读取URL中的json文件......

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
    }
}

但我如何检查" UserToCheck"完全匹配数组中的一个用户?

2 个答案:

答案 0 :(得分:2)

你可以用优秀的Newtonsoft Json Library解析你的Json:

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

由于这是区分大小写的,您可以使用LINQ:users.Any(u => String.Equals(u, UserToCheck, StringComparison.OrdinalIgnoreCase))

答案 1 :(得分:1)

尝试使用JSON解析来解析对象。这需要将JSON字符串对象放入JSON.Parse方法。

此部分可能缺失:

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

有用的链接:http://www.newtonsoft.com/json/help/html/ParseJsonObject.htm http://masnun.com/2011/07/08/quick-json-parsing-with-c-sharp.html

要检查字符串的名称,请将名称分解为带有C#的列表,然后迭代查看结果。