Вопрос

У меня есть библиотека классов, которую мне нужно вывести через jsonResult в рамках ASP.NET MVC. (JsonResult использует Jsoneserializer для производства его вывода.)

Я обнаружил, прочитав документацию, что если вы положите [ScriptIgnore] На общественной собственности/поля он не будет сериализован, очень похож на [XmlIgnore] Для XML -сериализатора.

Мне нужна эквивалентная функциональность [XmlElement("elementname")], который определяет абсолютно название поля/свойства в выходной сериализации. У меня есть поле под названием Elements Это должно быть сериализовано на поле названного elements.

Как я могу сделать это с помощью JSONERIALIZER по умолчанию?

Спасибо, Дэвид

Это было полезно?

Решение

Вы используете DataContractJsonserializer учебный класс?

Если так ...

Добавьте вам этот атрибут Elements поле

[DataMember(Name = "elements")] 

Этот Так вопрос предполагает, как переопределить использование Jsonscriptserializer в JSondataContractSerializer.

Доброта,

Дэн

Другие советы

К сожалению, ответом в том, что вы не можете этого сделать. Сказав это, в настоящее время я разрабатываю модуль, который будет расширять любой объект, производя во время выполнения анонимного объекта, который будет следовать правилам из атрибутов, таких как Jsonignore или JsonProperty. Я опубликую больше, когда у меня что -то будет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top