Member 11589429 Ответов: 2

Лучший способ показать ответ в формате json?


Я использую веб-приложение.Пользователь может вызвать мою страницу aspx.Я принимаю входные данные от пользователя в виде строки запроса.Я хочу дать ответ клиенту в виде json.Какой лучший способ показать ответ в формате json

try
        {
            string json = "message{\"description\":\""+description+"\"Id\":\""+id+"}";
            Response.Clear();
            Response.ContentType = "application/json; charset=utf-8";
            Response.Write(json);
           // Response.End();

            HttpContext.Current.Response.Flush(); // Sends all currently buffered output to the client.
            HttpContext.Current.Response.SuppressContent = true;  // Gets or sets a value indicating whether to send HTTP content to the client.
            HttpContext.Current.ApplicationInstance.CompleteRequest(); 

            //HttpContext.Current.ApplicationInstance.CompleteRequest();
        }
        catch(Exception ex)
        {
            Response.Write(ex.ToString());
        }
или создайте класс и выполните сериализацию.Какой из них является лучшим методом?

Что я уже пробовал:

try
        {
            string json = "message{\"description\":\""+description+"\"Id\":\""+id+"}";
            Response.Clear();
            Response.ContentType = "application/json; charset=utf-8";
            Response.Write(json);
           // Response.End();

            HttpContext.Current.Response.Flush(); // Sends all currently buffered output to the client.
            HttpContext.Current.Response.SuppressContent = true;  // Gets or sets a value indicating whether to send HTTP content to the client.
            HttpContext.Current.ApplicationInstance.CompleteRequest(); 

            //HttpContext.Current.ApplicationInstance.CompleteRequest();
        }
        catch(Exception ex)
        {
            Response.Write(ex.ToString());
        }

Afzaal Ahmad Zeeshan

Помимо того, что говорили другие, я бы рекомендовал использовать Web API, если вы хотите рассмотреть возможность генерации ответов в формате JSON или XML. Веб-API очень просты в программировании, они принимают только необходимые данные в качестве входных данных и генерируют только необходимые данные в качестве выходных — ни больше, ни меньше.

2 Ответов

Рейтинг:
14

Sunasara Imdadhusen

Привет,
Вы можете использовать следующий метод для преобразования строки JSON из объекта.

public class Message
{
    public string Description { get; set; }
    public int Id { get; set; }  
}
Message myReturnData = new Message() { Description = "This is test description", Id = 1 };
string json = JsonConvert.SerializeObject(myReturnData);

У вас должна быть ссылка на библиотеку newtonsoft JSON Вступление[^]

С уважением,
Имдадхусен


Karthik_Mahalingam

5

Рейтинг:
0

Moses Lebotsa

Привет
Я бы рекомендовал вам изменить свой метод на [WebMethod] с возвращаемым типом Dynamic / Object и сериализовать результаты в JSON.

Отправляйте свои запросы в этот веб-метод с помощью AJAX.