Silverlight не содержит API для получения ScriptObject
и сериализации в строку JSON.
Silverlight поддерживает сериализацию JSON через класс System.Runtime.Serialization.Json.DataContractJsonSerializer
, найденный в System.ServiceModel.Web
dll.
Вам потребуется получить некоторый базовый JSON-сериализатор JSON для преобразования значения, которое вы пытаетесь передать, в ScriptObject
, чтобы вы передавали строковый параметр JSON вместо ScriptObject
.Я считаю, что популярным инструментом для этой работы является JQuery.
Теперь похоже, что вы ожидали набор (в формате JSON типа "[x1, x2 ,,, xn]"), где элементы x имеют тип SomeObjectClass
,Вы можете использовать эту небольшую универсальную функцию для десериализации такого списка: -
List<T> DeserializeJSON<T>(string json)
{
byte[] array = Encoding.UTF8.GetBytes(json);
MemoryStream ms = new MemoryStream(array);
DataContractJsonSerializer dcs = new DataContractJsonSerializer(typeof(List<T>));
return (List<T>)dcs.ReadObject(ms);
}
Вы бы сделали: -
var objects = DeserializeJSON<SomeObjectClass>(someJSON);