private object ConvertScriptObjectToObject(object value)
        {
            string jsonValue = Globals.ScriptObjectJsonSerialize(value);

            using (MemoryStream jsonStream = new MemoryStream(Encoding.Unicode.GetBytes(jsonValue)))
            {
                JavaScriptDeserializer jsDeserializer = new JavaScriptDeserializer(jsonStream);
                return(jsDeserializer.DeserializeObject());
            }
        }
 public object ReadObject(Stream stream)
 {
     try
     {
         DataContract contract = RootContract;
         AddCollectionItemContractsToKnownDataContracts(contract);
         _jsonDeserializer = new JavaScriptDeserializer(stream);
         XmlObjectSerializerReadContextComplexJson context = new XmlObjectSerializerReadContextComplexJson(this, RootContract);
         object obj = ConvertObjectToDataContract(RootContract, _jsonDeserializer.DeserializeObject(), context);
         return(obj);
     }
     catch (Exception e)
     {
         if (e is TargetInvocationException || e is FormatException || e is OverflowException)
         {
             throw XmlObjectSerializer.CreateSerializationException(XmlObjectSerializer.GetTypeInfoError(SR.ErrorDeserializing, _rootType, e), e);
         }
         throw;
     }
 }
 private object ConvertScriptObjectToObject(object value)
 {
     string jsonValue = Globals.ScriptObjectJsonSerialize(value);
     using (MemoryStream jsonStream = new MemoryStream(Encoding.Unicode.GetBytes(jsonValue)))
     {
         JavaScriptDeserializer jsDeserializer = new JavaScriptDeserializer(jsonStream);
         return jsDeserializer.DeserializeObject();
     }
 }
Пример #4
0
        public object ReadObject(Stream stream)
        {
#if NET_NATIVE || MERGE_DCJS
            return _serializer.ReadObject(stream);
#else
            try
            {
                DataContract contract = RootContract;
                AddCollectionItemContractsToKnownDataContracts(contract);
                _jsonDeserializer = new JavaScriptDeserializer(stream);
                XmlObjectSerializerReadContextComplexJson context = new XmlObjectSerializerReadContextComplexJson(this, RootContract);
                object obj = ConvertObjectToDataContract(RootContract, _jsonDeserializer.DeserializeObject(), context);
                return obj;
            }
            catch (Exception e)
            {
                if (e is TargetInvocationException || e is FormatException || e is OverflowException)
                {
                    throw XmlObjectSerializer.CreateSerializationException(XmlObjectSerializer.GetTypeInfoError(SR.ErrorDeserializing, _rootType, e), e);
                }
                throw;
            }
#endif
        }