void ButtonSerializeDeserialize_Click(object sender, RoutedEventArgs e) { // Serialize: var dataContractSerializer = new DataContractSerializer(typeof(ClassToSerialize)); #if OPENSILVER string xml = null; MemoryStream stream1 = new MemoryStream(); dataContractSerializer.WriteObject(stream1, _classToSerialize); stream1.Seek(0, SeekOrigin.Begin); using (var streamReader = new StreamReader(stream1)) { xml = streamReader.ReadToEnd(); } #else var xml = dataContractSerializer.SerializeToString(_classToSerialize); #endif // Display the result of the serialization: MessageBox.Show("Result of the serialization:" + Environment.NewLine + Environment.NewLine + xml); // Deserialize: dataContractSerializer = new DataContractSerializer(typeof(ClassToSerialize)); #if OPENSILVER ClassToSerialize deserializedObject = (ClassToSerialize)dataContractSerializer.ReadObject(new MemoryStream(System.Text.Encoding.UTF8.GetBytes(xml))); #else ClassToSerialize deserializedObject = (ClassToSerialize)dataContractSerializer.DeserializeFromString(xml); #endif // Display the result of the deserialization: SerializationDestinationPanel.DataContext = deserializedObject; }
void ButtonSerializeDeserialize_Click(object sender, RoutedEventArgs e) { // Serialize: var dataContractSerializer = new DataContractSerializer(typeof(ClassToSerialize)); var serializedXml = dataContractSerializer.SerializeToString(_classToSerialize); // Display the result of the serialization: MessageBox.Show("Result of the serialization:" + Environment.NewLine + Environment.NewLine + serializedXml); // Deserialize: dataContractSerializer = new DataContractSerializer(typeof(ClassToSerialize)); ClassToSerialize deserializedObject = (ClassToSerialize)dataContractSerializer.DeserializeFromString(serializedXml); // Display the result of the deserialization: SerializationDestinationPanel.DataContext = deserializedObject; }
public void Setup() { var jsonNetOptions = new JsonSerializerSettings { Formatting = Formatting.None, Converters = new JsonConverter[] { new IsoDateTimeConverter { DateTimeFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ss" }, new LongToStringConverter(), }, ReferenceLoopHandling = ReferenceLoopHandling.Ignore, NullValueHandling = NullValueHandling.Ignore }; var serializeOptions = new JsonSerializerOptions { WriteIndented = false, IgnoreNullValues = false, PropertyNameCaseInsensitive = true, Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping }; serializeOptions.Converters.Add(new ImplicitInt64Converter()); serializeOptions.Converters.Add(new ImplicitUInt64Converter()); serializeOptions.Converters.Add(new ImplicitDateTimeConverter()); serializeOptions.Converters.Add(new ImplicitDateTimeOffsetConverter()); var deserializeOptions = new JsonSerializerOptions { WriteIndented = false, IgnoreNullValues = true, PropertyNameCaseInsensitive = true, Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping }; deserializeOptions.Converters.Add(new ImplicitInt16Converter()); deserializeOptions.Converters.Add(new ImplicitUInt16Converter()); deserializeOptions.Converters.Add(new ImplicitInt32Converter()); deserializeOptions.Converters.Add(new ImplicitUInt32Converter()); deserializeOptions.Converters.Add(new ImplicitInt64Converter()); deserializeOptions.Converters.Add(new ImplicitUInt64Converter()); deserializeOptions.Converters.Add(new ImplicitDecimalConverter()); deserializeOptions.Converters.Add(new ImplicitDoubleConverter()); deserializeOptions.Converters.Add(new ImplicitSingleConverter()); deserializeOptions.Converters.Add(new ImplicitByteConverter()); deserializeOptions.Converters.Add(new ImplicitSByteConverter()); deserializeOptions.Converters.Add(new ImplicitDateTimeConverter()); deserializeOptions.Converters.Add(new ImplicitDateTimeOffsetConverter()); serializeToStringObject = new { int16 = 111.ToString(), uint16 = ushort.MaxValue.ToString(), int32 = int.MaxValue.ToString(), uint32 = uint.MaxValue.ToString(), int32N = "".ToString(), int64 = 12321.ToString(), uint64 = ulong.MaxValue.ToString(), boolean = true, decimalV = decimal.MaxValue.ToString(), doubleV = "1.123445767", floatV = "1.1111", byteV = byte.MaxValue.ToString(), sbyteV = sbyte.MaxValue.ToString(), charV = 'c', date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), date1 = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), arr = new string[] { "a", "b" }, TestEnum = TestEnum.Approved }; jsonFromString = JsonConvert.SerializeObject(serializeToStringObject, jsonNetOptions); serializeToStringClass = (TestClass)JsonConvert.DeserializeObject(jsonFromString, typeof(TestClass), jsonNetOptions); jsonNetSerializer = new JsonNetSerializer(jsonNetOptions); textJsonSerializer = new TextJsonSerializer(serializeOptions, deserializeOptions); jilSerializer = new JilSerializer(); dataContractSerializer = new DataContractSerializer(); #if !NET5_0 binarySerializer = new BinarySerializer(); #endif protoBufSerializer = new ProtoBufSerializer(); NetSerializer.Serializer instance = new NetSerializer.Serializer(new[] { typeof(TestClass) }); netSerializer = new NETSerializer(instance); dataContractFromString = dataContractSerializer.SerializeToString(serializeToStringClass); #if !NET5_0 binaryFromString = binarySerializer.SerializeToString(serializeToStringClass); #endif protoBufFromString = protoBufSerializer.SerializeToString(serializeToStringClass); netSerializerFromString = netSerializer.SerializeToString(serializeToStringClass); jilFromString = jilSerializer.SerializeToString(serializeToStringClass); }
public void SerializeToString_DataContract() { dataContractSerializer.SerializeToString(serializeToStringClass); }