Как выполнить сериализацию ScriptObjects в JSON для сохранения в изолированном хранилище Silverlight?

Согласно этой статье Silverlight 2 Бета 2 поддерживает объект DataContractJsonSerializer. Но когда я пытаюсь его использовать, VS говорит

"Type 'DataContractJsonSerializer' is not defined".

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

Действительно ли Silverlight 2 Beta 2 поддерживает DataContractJsonSerializer? Или кто-нибудь порекомендовал бы другой метод сохранения созданного JavaScript ScriptObject в изолированном хранилище?

Эм ... Извините за то, что нашел ответ в другом месте после того, как задал вопрос.

Chris Pietschmann 01.10.2008 04:27
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
1 522
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

На данный момент единственное решение, которое я нашел, - это использовать ASP.NET AJAX JavaScriptSerializer для сериализации / десериализации JSON в JavaScript, а затем просто использовать Silverlight для сохранения / извлечения результирующей строки.

Sys.Serialization.JavaScriptSerializer.serialize(obj);
Sys.Serialization.JavaScriptSerializer.deserialize(json);

Я бы сказал, что ваш собственный ответ будет лучшим подходом. JavaScript очень медленно справляется с подобными вещами, поэтому лучше оставить часть сериализации ASP.NET.

Я говорю обо всем коде на стороне клиента. Я имею в виду ASP.NET AJAX JavaScriptSerializer, основанный на JavaScript и являющийся частью клиентских скриптов ASP.NET AJAX.

Chris Pietschmann 28.09.2008 08:06
Ответ принят как подходящий

На самом деле ответ таков: DataContractJsonSerializer является частью Silverlight 2 Beta 2, но вам нужно добавить ссылку на System.ServiceModel.Web в свой проект Silverlight, чтобы использовать его.

Я не понимал, что вам все еще нужно добавлять ссылки на dll в Silverlight. Я думал, что он автоматически включает все, так же, как это делает ASP.NET.

Существует версия Json.NET для Silverlight, которая сериализует ваши объекты в JSON. Он не требует атрибутов [DataContract] и [DataMember] во всех ваших объектах.

Json.NET

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