Pregunta

Estoy buscando una mejora para JSON que también serialice métodos.Tengo un objeto que actúa como una colección de objetos y también me gustaría serializar los métodos del objeto de la colección.Hasta ahora he localizado Con claseJSON.¿Alguna idea?

¿Fue útil?

Solución

No creo que los métodos de serialización sean nunca una buena idea.Si tiene la intención de ejecutar el código en el servidor, se expone a ataques.Si desea ejecutarlo en el lado del cliente, es mejor que utilice solo los métodos locales, posiblemente haciendo referencia al nombre del método que va a utilizar en los objetos serializados.

Aunque creo que eso "f = "+function() {} le dará una versión de cadena que puede evaluar:

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

Y para un buen manejo de json, recomendaría prototipo, que tiene excelentes métodos para serializar objetos en json.

Otros consejos

Intente salirse con la suya sin serializar el código javascript.Allí se encuentra un mundo de dolor.La depuración será mucho más fácil si el código sólo puede provenir de archivos estáticos, no de una base de datos.En su lugar, recorra sus respuestas JSON después de recibirlas y pase los datos apropiados a los constructores de objetos apropiados.

Si es absolutamente necesario serializarlos, llamar a toString() en una función devolverá su fuente.

Si utiliza el marco WCF para desarrollar un servicio web RESTful, es muy fácil de lograr.Simplemente cree sus clases de estructura de datos con su colección deseada con atributos DataContract, 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top