Как вы сериализуете объекты JavaScript с помощью методов JSON?

Я ищу расширение для JSON, которое также будет сериализовать методы. У меня есть объект, который действует как коллекция объектов и хотел бы также сериализовать методы объекта коллекции. Пока я нахожусьClassyJSON, Какие-нибудь мысли?

Ответы на вопрос(3)

это очень легко сделать. Просто создайте свои классы структуры данных с желаемой коллекцией с атрибутами 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;}
}
Решение Вопроса

что сериализация методов когда-либо является хорошей идеей. Если вы намереваетесь запустить код на стороне сервера, вы открываете себя для атак. Если вы хотите запустить его на стороне клиента, вам лучше использовать только локальные методы, возможно, ссылаясь на имя метода, который вы собираетесь использовать в сериализованных объектах.

Я верю, хотя это"f = "+function() {} выдаст вам строковую версию, которую вы можете оценить:

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

А для хорошей обработки json я бы порекомендовал прототип, у которого есть отличные методы для сериализации объектов в json.

 David Robbins21 сент. 2008 г., 02:32
Спасибо. Я проверю прототип.

не сериализовав код JavaScript. Так лежит мир боли. Отладка будет намного проще, если код может поступать только из статических файлов, а не из базы данных. Вместо этого пройдитесь по ответам JSON после их получения и передайте соответствующие данные соответствующим конструкторам объектов.

Если вам абсолютно необходимо их сериализовать, вызов toString () для функции вернет ее источник.

 06 мая 2017 г., 02:47
как насчет того, когда это объект со многими функциями? любой способ сериализации все сразу?

Ваш ответ на вопрос