Как отправить данные из запроса JSON - PullRequest
1 голос
/ 07 марта 2011

У меня есть WSDL, который возвращает информацию на удаленные устройства, используя SOAP. Однако я пишу новое приложение для Android, которое не поддерживает SOAP, поэтому я не могу использовать существующий WSDL, и мне пришлось кодировать новое приложение, которое ищет строку запроса из приложения Android и возвращает данные в формате JSON. пакет. Я закодировал модуль, который получает данные, хорошо, но я не уверен, как отправить данные обратно в формате JSON, есть ли у кого-нибудь примеры в VB.Net или C #, которые показывают мне, как вернуть данные в запросчик JSON?

1 Ответ

2 голосов
/ 07 марта 2011

Вам будет приятно узнать, что .NET делает это действительно просто, используя DataContractJsonSerializer . Вот некоторый код, полученный из HTTP-обработчика. MyDataType - это имя вашего сериализуемого класса.

context.Response.ContentType = "application/json";
MyDataType someObject = new MyDataType();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(MyDataType));
using (MemoryStream ms = new MemoryStream())
{
    ser.WriteObject(ms, data);
    ms.Seek(0, SeekOrigin.Begin);

    StreamReader sr = new StreamReader(ms);
    string json = sr.ReadToEnd();
    Trace("Returning JSON:\n" + json + "\n");
    context.Response.Write(json);
}

Это основной пост в блоге, который я использовал, когда мне приходилось это делать.

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