Pergunta

Eu tenho uma biblioteca de classes que preciso produzir por meio de um JSONRESULT na estrutura do ASP.NET MVC. (O JSONRESULT usa o jsonserializer para produzir sua saída.)

Eu descobri ao ler a documentação de que, se você colocar [ScriptIgnore] Em uma propriedade pública/campo, não será serializado, assim como [XmlIgnore] Para o serializador XML.

Eu preciso da funcionalidade equivalente de [XmlElement("elementname")], que especifica absolutamente o nome do campo/propriedade na serialização de saída. Eu tenho um campo chamado Elements que precisa ser serializado para um campo chamado elements.

Como posso conseguir isso usando o JSOnserializer padrão?

Obrigado, David

Foi útil?

Solução

Você está usando o DATACONTRATTJSOSERILIZER classe?

Se for assim ...

Adicione este atributo a você Elements campo

[DataMember(Name = "elements")] 

este Então pergunta sugere como substituir o uso do JSOnscriptSerializer para o JSONDATACONTRATRANTSERializer.

Gentileza,

Dan

Outras dicas

A resposta infeliz é que você não pode fazer isso. Dito isto, atualmente estou desenvolvendo um módulo que estenderá qualquer objeto produzindo em tempo de execução um objeto anônimo que seguirá as regras de atributos, como Jsonignore ou JsonProperty. Vou postar mais quando tiver algo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top