C# возвращает дату и время ISO, а не дату и время JSONC#

Место общения программистов C#
Anonymous
C# возвращает дату и время ISO, а не дату и время JSON

Сообщение Anonymous »

У меня есть два проекта: один — сервер, а другой — вызывающая сторона. мой сервер возвращает объект из своей функции, и когда вызывающая сторона получает результат, он получает данные в формате JSON.

Класс

Код: Выделить всё

public class MyClass
{
public int myInt{ get; set; }
public string myString{ get; set; }
public DateTime myDate{ get; set; }
}
Серверная часть

Код: Выделить всё

[HttpPost]
public async Task Index()
{
var tmpResult = await . . .
return new MyClass();
}
Сторона вызывающего абонента

Код: Выделить всё

HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.Method = "POST";
Stream dataStream = webRequest.GetRequestStream();
WebResponse response = webRequest.GetResponse();
dataStream = response.GetResponseStream();
using (StreamReader reader = new StreamReader(dataStream))
{
responseFromServer = reader.ReadToEnd();
reader.Close();
}
на данный момент мой ответ такой:


{"myInt":0 ,"myString":"a","myDate":"/Date(1531908040342)/"


Чего я хочу достичь будет выглядеть так:


{"myInt":0,"myString":"a","myDate":"2018-07- 18 00:00:00.000"


Я думал, что добавление JsonConverter в мой класс решит мою проблему.

Код: Выделить всё

public class MyClass
{
public int myInt{ get; set; }
public string myString{ get; set; }

[JsonConverter(typeof(CustomDateTimeConverter))]
public DateTime myDate{ get; set; }
}

class CustomDateTimeConverter : IsoDateTimeConverter
{
public CustomDateTimeConverter()
{
base.DateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fff";
}
}
Но ответ, который я получил, остался прежним. Интересно, как мне следует изменить свою модель, чтобы это произошло? или мне следует преобразовать свой ответ в объект, а затем снова выполнить повторную сериализацию?

*Дополнение: я надеюсь, что мне не нужно вводить что-либо вроде DateTime.ToString(). Потому что таким образом мне нужно преобразовать мой ответ в объект, а затем ввести его 1 на 1. Я надеюсь, что смогу получить ответ от сервера, уже конвертировав его в формат ISO, а не в формат Json

Подробнее здесь: https://stackoverflow.com/questions/513 ... n-datetime

Вернуться в «C#»