Опубликовать данные JSON в приложении asp.net - PullRequest
2 голосов
/ 19 января 2012

Я использую магистральную инфраструктуру MVC для клиентского приложения.Он помещает данные JSON в приложение asp.net, а не в приложение asp MVC.Как получить данные JSON?Является ли строка JSON где-нибудь в объекте HttpRequest?Декодирует ли .NET строку JSON?Я хочу иметь возможность предоставить объект или модель в C # и использовать этот объект при десериализации строки JSON, но где я могу получить доступ к строке json во время действия HTTP Post?

Ответы [ 3 ]

4 голосов
/ 19 января 2012

JSON.net работал хорошо.

Stream s = Request.InputStream; 
StreamReader sr = new StreamReader(s); 
Newtonsoft.Json.Linq.JObject jObj = Newtonsoft.Json.Linq.JObject.Parse(sr.ReadLine()); 
string name = (string)jObj["name"];
1 голос
/ 19 января 2012

Как выглядит запрос с помощью Fiddler?Я полагаю, что это будет отправка JSON, прикрепленный к определенному ключевому полю.Если нет ключевого поля, то вы должны просто прочитать Request.InputStream непосредственно в строку и затем десериализовать это.

0 голосов
/ 19 января 2012

Чтобы ответить на ваши вопросы:

Как получить данные JSON? Это будет, как минимум, в вашем Request.Form наборе переменных (то есть, если вы размещаете форму на своей странице ASP.NET). Это коллекция имен и значений, поэтому вы должны иметь к ней доступ.

Является ли строка JSON где-нибудь в объекте HttpRequest? Да - это должно быть частью Request.Form.

.NET декодирует строку JSON? Только если вы скажете это. В службах WCF вы можете указать, что такое WebMessageFormat (XML или JSON). В MVC вы можете обрабатывать данные JSON соответственно. Вам нужно обрабатывать это либо с помощью собственного обработчика, либо самостоятельно декодировать его.

Надеюсь, это поможет. Если у вас есть конкретная ситуация, предоставьте пример кода или предоставьте более подробную информацию, и я обновлю свой ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...