2013-12-17 2 views
0

Я задал пару вопросов о сериализации словарей, и я понял, что даже не могу использовать Newtonsoft.JSON в своих ответах .ASMX!Как я могу убедиться, что результаты .asmx JSON используют Newtonsoft.JSON?

У меня есть JSON-излучающих класса WebService в .asmx файле:

[WebService(Namespace = "www.???.com")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[ScriptService] 
public class ApplicationService : JSONWebServiceBase 
{ 
    [WebMethod] 
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)] 
    public DateTime GetX() 
    { 
     return DateTime.Now; 
    } 
} 

Чтобы проверить мой JSON, я вернулся свойство DateTime, и с помощью теста simon_weaver в эту дату появился на клиенте, как

{"\/Date(1355627201572)\/"} 

вместо

{"2012-12-15T19:07:03.5247384-08:00"} 

, который говорит мне, что сериализатору Microsoft является Бейн g, а не Newtonsoft.JSON. Как сообщить ASP.NET, что я хочу использовать Newtonsoft?

+1

в зависимости от версии, вы должны зарегистрировать Newtonsoft в качестве обработчика сценариев по умолчанию –

+0

Спасибо вам @JonathanBates! Копаем в том, как это сделать ... – n8wrl

+0

Взгляните на это http://msdn.microsoft.com/en-us/library/bb763183(v=vs.100).ASPX –

ответ

0

Проверьте следующее может работать для
var d = new Date(1245398693390); var formattedDate = d.getDate() + "-" + (d.getMonth() + 1) + "-" + d.getFullYear(); var hours = (d.getHours() < 10) ? "0" + d.getHours() : d.getHours(); var minutes = (d.getMinutes() < 10) ? "0" + d.getMinutes() : d.getMinutes(); var formattedTime = hours + ":" + minutes;formattedDate = formattedDate + " " + formattedTime;

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