2012-12-05 3 views
0

Я разрабатываю приложение с использованием ASP.NET MVC 4, и он включает вызов веб-API, в котором результат, который я получаю для конкретной записи, представляет собой строку Json. Я делаю это веб-API вызова внутри метода действия контроллера и результат я получаю такого вызова в следующем виде:Как извлечь значения из Json String

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

Я новичок в MVC и Json и действительно был бы признателен за любую помощь на как я могу извлечь определенные значения из этой строки Json, такие как значение для dept?

Спасибо.

+0

Поиск Restful JSON WCF клиента, вы можете использовать один и тот же JSONSerializer и десериализации и конвертировать в ПОКО-х. – SriN

+0

Спасибо за быстрый ответ. Тем не менее, я просто пытаюсь извлечь конкретное значение из строки Json и не пытаюсь создать экземпляр объекта класса из строки Json. В этом примере я сразу после значения департамента, который является «IT». Хотелось бы, чтобы я мог сделать это с помощью простого кода, например result ["dept"]? – corix010

ответ

1

Чтобы использовать это как реальный объект в своем проекте, вам необходимо десериализовать эту строку. У .NET есть своя десериализация, или вы можете проверить Json.Net, что довольно просто понять. Проверьте документацию на JsonConvert.DeserializeObject <> ...

т.е. ...

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

Я ценю быстрый ответ, но я сразу после определенного значения в строке Json, как в этом примере, значение dept, которое является «IT». Мне действительно нужно создать класс для этого? Есть ли способ, которым я мог бы просто сделать результат ["dept"] или что-то в этом роде? Благодарю. – corix010

+0

Я немного новичок в веб-api, сам. Я никогда не делал ничего, кроме десериализации его в poco, но это возможно. Я нашел эту ветку, которая может помочь (хотя она выглядит более сложной imo) http://stackoverflow.com/questions/1207731/how-can-i-deserialize-json-to-a-simple-dictionarystring-string-in-asp -сеть. Я думаю, вам все равно придется использовать Json.NET для десериализации, хотя прежде чем вы сможете что-либо с этим сделать. –

+1

Спасибо за ссылку. Это действительно помогло. Я в конечном итоге использую код: Dictionary values ​​= JsonConvert.DeserializeObject <Словарь <строка, строка >> (json); – corix010

Смежные вопросы