У меня есть класс
public class Money
{
public string Currency { get; set; }
public decimal Amount { get; set; }
}
и хотел бы сериализовать его в JSON. Если я использую JavaScriptSerializer
, я получаю
{"Currency":"USD","Amount":100.31000}
Из-за API я должен соответствовать потребностям JSON с максимальными двумя десятичными знаками, я считаю, что должно быть возможно каким-то образом изменить способ сериализации JavaScriptSerializer
десятичного поля, но я не могу узнать, как это сделать. Существует SimpleTypeResolver, который вы можете передать в конструкторе, но он работает только по типам, насколько я могу понять. JavaScriptConverter, который вы можете добавить через RegisterConverters (...), как представляется, для Dictionary
.
Я хотел бы получить
{"Currency":"USD","Amount":100.31}
после сериализации. Кроме того, о переходе к двойному вопросу не может быть и речи. И мне, вероятно, нужно сделать округление (100.311 должно стать 100.31).
Кто-нибудь знает, как это сделать? Возможно ли альтернатива JavaScriptSerializer
, которая позволяет более подробно управлять сериализацией?