2012-12-05 4 views
0

ASP.NET MVC 4를 사용하여 응용 프로그램을 개발 중이며 특정 레코드에 대한 결과가 Json 문자열 인 웹 API 호출이 필요합니다.Json String에서 값을 추출하는 방법

result = "{\"fname\":\"John\",\"lname\":\"Doe\",\"empno\":123456,\"dept\":\"IT\"}" 

내가 MVC와 JSON에 새로운 오전에 어떤 도움을 주셔서 감사합니다 정말 것이다 : 나는 컨트롤러의 동작 방법과 내가 같은 호출에 대해 무엇입니까 결과 다음과 같은 형태로되어 내부에이 웹 API 호출을하고있는 중이 야 내가이 Json 문자열에서 dept 값과 같은 특정 값을 추출하는 방법은 무엇입니까?

감사합니다.

+0

검색, 같은 JSONSerializer 라이저 및 디시리얼라이저를 사용하여 POCO의로 변환 할 수 있습니다

즉 ...> ... JsonConvert.DeserializeObject <에 설명서를 확인하십시오. – SriN

+0

빠른 답장을 보내 주셔서 감사합니다. 그러나, 나는 Json 문자열에서 특정 값을 추출하고 Json 문자열에서 클래스의 개체를 인스턴스화하지 않으려 고합니다. 이 예에서는 "IT"라는 dept의 값 바로 뒤에 있습니다. 결과 [ "dept"]와 같은 간단한 코드만으로도 그렇게 할 수 있었으면 좋겠습니까? – corix010

답변

1

프로젝트에서이 객체를 실제 객체로 사용하려면이 문자열을 비 직렬화해야합니다. .NET은 자체 deserialization을 가지고 있거나 알아낼 수있는 Json.Net을 확인할 수 있습니다. 평안한 JSON WCF 클라이언트에 대한

Instructor desInst = new Instructor(); 
responseContent = rsp.Content.ReadAsStringAsync().Result; 
desInst = JsonConvert.DeserializeObject<Instructor>(responseContent); 
+0

빠른 응답을 주셔서 감사하지만이 예제에서와 같이 Json 문자열의 특정 값 바로 뒤에있는 "IT"인 dept의 값입니다. 이 수업을 실제로 만들어야합니까? 결과 [ "dept"] 또는 그와 비슷한 것을 할 수있는 방법이 있습니까? 감사. – corix010

+0

나는 웹 API에 다소 익숙하다. 나는 그것을 poco로 비 직렬화하는 것 이외의 다른 것을 한 번도 해보지 않았지만 가능할 수도 있습니다. 나는이 스레드가 도움이 될 수 있음을 발견했다. (더 복잡해 보이더라도) http://stackoverflow.com/questions/1207731/how-can-i-deserialize-json-to-a-simple-dictarystring-string-in-asp -그물. 나는 당신이 그것으로 무엇이든 할 수 있기 전에 당신이 아직도 deserialize하기 위해 Json.NET을 사용해야한다고 생각한다. –

+1

링크를 제공해 주셔서 감사합니다. 정말 도움이되었습니다. 결국 코드를 ​​사용하여 끝납니다 : Dictionary values ​​= JsonConvert.DeserializeObject > (json); – corix010

관련 문제