programing

Json Convert.사용되지 않는 날짜 형식을 사용하는 경우 DeserializeObject에서 문자열을 DateTime으로 변환할 수 없습니다.

cafebook 2023. 3. 4. 15:10
반응형

Json Convert.사용되지 않는 날짜 형식을 사용하는 경우 DeserializeObject에서 문자열을 DateTime으로 변환할 수 없습니다.

다음과 같은 직렬화된 json 개체가 있습니다.

"{\"LineItems\":[{\"LineID\":1,\"QuoteID\":\"00000000-0000-0000-0000-000000000000\",\"Quantity\":\"1\",\"UnitPriceExTax\":\"2\",\"UnitPriceTaxRate\":\"2\",\"UnitPriceTaxAmt\":0,\"LineTotalExTax\":2,\"LineTotalTaxAmt\":0.040000000000000036,\"LineTotalIncTax\":2.04}],\"QuoteID\":[],\"CurrencyID\":\"2\",\"SupplierRef\":\"SDFSFSDF\",\"DeliveryDate\":\"22/02/2014\",\"QuoteAvailablityStartDate\":\"13/02/2014\",\"QuoteAvailablityEndDate\":\"09/02/2014\",\"OpeningComments\":\"WWSFSFS \",\"PricingComments\":\"XSDFSDF \",\"DeliveryComments\":\"SDFSFSDF SDFSFSF\",\"TermsComments\":\"SFSFSDF SDFSFSDF SDFS\",\"FreightExTax\":\"1\",\"FreightExTax2\":1,\"FreightTaxRate\":\"1\",\"FreightTaxAmt\":0.010000000000000009,\"FreightIncTax\":1.01,\"TotalLinesExTax\":2,\"TotalLinesTaxAmt\":0.040000000000000036,\"TotalExTax\":3,\"TotalTaxAmt\":0.050000000000000044,\"TotalIncTax\":3.05}"

하나는 다음과 같이 직렬화를 해제하려는 서버로 전송됩니다.

var json = Request.RequestContext.HttpContext.Request.Params["EoiDraftModel"];
var ld = JsonConvert.DeserializeObject<EoiDraftViewModel>(json);

그리고 Im은 오류를 범한다:

문자열을 DateTime: 2014/13/02로 변환할 수 없습니다.경로 'DeliveryDate', 라인 1, 위치 323."

날짜가 유효하기 때문에 us 이외의 포맷에 문제가 있다고 생각합니다.사실 나는 내가 13일 미만을 하면 그것이 잘 역직렬화되기 때문이라는 것을 안다.그럼 사용자 이외의 날짜를 사용하려면 어떻게 역직렬화해야 합니까?

를 지정해 보겠습니다.DateTime특히 를 사용하여 포맷하다IsoDateTimeConverter, 및 에 전달합니다.JsonConvert.DeserializeObject<>()방법.

...
var json = Request.RequestContext.HttpContext.Request.Params["EoiDraftModel"];

var format = "dd/MM/yyyy"; // your datetime format
var dateTimeConverter = new IsoDateTimeConverter { DateTimeFormat = format };

var ld = JsonConvert.DeserializeObject<EoiDraftViewModel>(json, dateTimeConverter);
...

언급URL : https://stackoverflow.com/questions/21744067/jsonconvert-deserializeobject-could-not-convert-string-to-datetime-when-using-no

반응형