Pergunta

Eu estou procurando um acessório para JSON que também irá seriar métodos. Eu tenho um objeto que age como uma coleção de objetos, e gostaria de serializar os métodos do objeto coleção também. Até agora eu localizado ClassyJSON . Quaisquer pensamentos?

Foi útil?

Solução

Eu não acho que a serialização métodos é sempre uma boa idéia. Se você pretende executar o serverside código, você se abre para ataques. Se você deseja executá-lo do lado do cliente, você é melhor fora apenas os métodos locais, possivelmente fazendo referência ao nome do método que você está indo para uso nos objetos serializados.

Eu acredito que embora "f = "+function() {} vai render-lhe uma para a versão de cadeia que você pode eval:

var test = "f = " + function() { alert("Hello"); };
eval(test)

E para manipulação boa json, eu recomendaria protótipo, que tem grandes métodos para serialização de objetos para JSON.

Outras dicas

Tente fugir sem serialização de código javascript. Dessa forma, encontra-se um mundo de dor. Depuração será muito mais fácil se o código só pode vir de arquivos estáticos, não a partir de um banco de dados. Em vez disso, anda suas respostas JSON depois de recebê-los e passar os dados apropriados para os construtores de objetos apropriados.

Se você absolutamente deve serializar-los, chamando toString () em uma função irá retornar a sua fonte.

Se você usar o quadro WCF para desenvolver serviços web RESTful, que é muito fácil de alcançar. Basta criar suas classes estrutura de dados com sua coleção desejado com DataContract, atributos DataMember.

[DataContract]
public class Foo
{
    [DataMember]
     public string FooName {get;set;}
    [DataMember]
     public FooItem[] FooItems {get;set;}
}


[DataContract]
public class FooItem
{
    [DataMember]
    public string Name {get;set;}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top