2016-09-20 6 views
-1

JSON 파일에 배열이 있습니다. 파일은 다음과 같습니다.사용자가 목록에 있는지 확인하십시오.

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

나는 사용자 이름을 가지고 있습니다. 이 사용자 이름이 배열인지 확인하고 싶습니다.

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는"정확하게 배열의 사용자 중 하나와 일치하는 경우 어떻게 확인할 수 있습니까?

+1

Google 검색에서 JSON 파일을 구문 분석하는 간단한 Google 검색을 수행합니다. 예를 들어 Google 검색에서 'C# stackoverflow json 배열 내부의 문자열을 확인하는 방법' – MethodMan

+0

이 파일을 구문 분석해야합니까? – Chamov

+0

정말로 작은 데이터가 있다면 String.Contains 만 사용하십시오. 그러나 더 많은 정보가 있으면 구문 분석이 더 나은 성능을 제공 할 것입니다. –

답변

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

코드가 정확히 필요한 것입니다. 완벽하게 작동합니다! 큰 감사를 드린다! – Chamov

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 번호와리스트로까지 이름을 중단하고이를 확인하기 위해 반복하려면 결과.

관련 문제