2009-06-29 3 views
0

Я просто хотел уточнить несколько вопросов, которые у меня есть. Я строю строку JSON и возвращаю ее с помощью context.response. Я просто вызываю URL-адрес обработчику .ashx и пытаюсь вернуть JSON.Вопросы по прохождению и форматированию JSON to HttpResponse

Вот как я подошел к нему до сих пор:

Список продуктов = GetCarolProducts(); Список изображений = новый Список();

foreach(Product p in products) 
{ 

    string imageTag = string.Format(@"<img src=""{0}"" alt=""""></li>", Util.ImageUrl(p.Image, false)); 

    images.Add(imageTag); 
    i++; 
} 

string jsonString = images.ToJSON(); 
context.Response.Write(jsonString); 

Я использую метод примера помощник здесь JSON: http://weblogs.asp.net/scottgu/archive/2007/10/01/tip-trick-building-a-tojson-extension-method-using-net-3-5.aspx

Так что мои вопросы:

1) Я не хочу, чтобы передать обратно весь объект продукта. На самом деле я вообще не хотел этого передавать. Я хотел передать кучу тегов изображений, которые я сделал в моем цикле foreach. поэтому я просто создал эту строку на каждой итерации продукта и добавил ее в новый общий список строки типа. Я предполагаю, что это хорошо, и что передача общего списка строк может быть сериализована в JSON ... эта строка является самим объектом, поэтому это должно быть хорошо? Дело в том, что у него не будет никаких свойств, поэтому я не знаю. Я полагаю, что я был бы увлечен, если это будет работать так, как будто я должен передать объект, например продукт, например, он имеет, по крайней мере, свойства в нем, такие как ID, имя и т. Д.

Так что если это не так, я собираюсь работать, мне интересно, как я могу просто получить список JSON, который дает мне. Я считаю, что, хотя мне все же нужно иметь доступ к этому возвращенному JSON с ключом/значением. Но с точки зрения данных, это все, что мне нужно в моем jQuery, просто куча образов.

Итак, мой вопрос: m ust Я передаю объект, у которого есть свойства в нем, так что у моего возвращенного JSON есть некоторые параметры, которые я могу получить через jQuery, поскольку jQuery создает для вас хороший типизированный объект на основе этих свойств ? Я не думаю, что отправка обобщенного списка строк будет работать в моей ситуации.

поэтому не совсем уверен, как установить это и передать только список изображений в мой вспомогательный метод ToJSON и, в конечном счете, на мой синтаксический анализ JQuery JSON.

2) Не уверен, что мне нужно сделать что-нибудь особенное, чтобы рассказать контексту. Отвечайте, что это JSON, кроме как передать ему последнюю строку, которую создает здесь вспомогательный метод? с XML вы должны сказать ответ, чтобы отформатировать его как XML с контекстом .Response .ContentType = "text/xml". Так что мне нужно указать что-либо, если я передаю строки JSON?

ответ

1

Для получения информации о типе ответа посмотрите предложение JSONRequest от Douglas Crockford.

Content-Type: application/jsonrequest 
+0

спасибо, я думаю, это охватывает один из моих вопросов. – PositiveGuy

+0

Я думаю, что это на самом деле "text/plain" – PositiveGuy

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