Пример #1
0
        public override void WriteJsonValueCore(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson?context, RuntimeTypeHandle declaredTypeHandle)
        {
            DataContractSerializer dataContractSerializer = new DataContractSerializer(Type.GetTypeFromHandle(declaredTypeHandle),
                                                                                       GetKnownTypesFromContext(context, (context == null) ? null : context.SerializerKnownTypeList), 1, false, false); //  maxItemsInObjectGraph //  ignoreExtensionDataObject //  preserveObjectReferences

            MemoryStream memoryStream = new MemoryStream();

            dataContractSerializer.WriteObject(memoryStream, obj);
            memoryStream.Position = 0;
            string serialized = new StreamReader(memoryStream).ReadToEnd();

            jsonWriter.WriteString(serialized);
        }
 public override void WriteJsonValueCore(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson?context, RuntimeTypeHandle declaredTypeHandle)
 {
     Debug.Assert(context != null);
     jsonWriter.WriteAttributeString(null, JsonGlobals.typeString, null, JsonGlobals.objectString);
     JsonFormatWriterDelegate(jsonWriter, obj, context, TraditionalClassDataContract, MemberNames);
 }
Пример #3
0
 public override void WriteJsonValueCore(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson?context, RuntimeTypeHandle declaredTypeHandle)
 {
     jsonWriter.WriteAttributeString(null, JsonGlobals.typeString, null, JsonGlobals.objectString);
 }
Пример #4
0
 internal static void WriteJsonValue(JsonDataContract contract, XmlWriterDelegator writer, object graph, XmlObjectSerializerWriteContextComplexJson?context, RuntimeTypeHandle declaredTypeHandle)
 {
     contract.WriteJsonValue(writer, graph, context, declaredTypeHandle);
 }
Пример #5
0
 public override void WriteJsonValueCore(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson?context, RuntimeTypeHandle declaredTypeHandle)
 {
     if (IsULong)
     {
         jsonWriter.WriteUnsignedLong(Convert.ToUInt64(obj));
     }
     else
     {
         jsonWriter.WriteLong(Convert.ToInt64(obj));
     }
 }
Пример #6
0
 public virtual void WriteJsonValueCore(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson?context, RuntimeTypeHandle declaredTypeHandle)
 {
     TraditionalDataContract.WriteXmlValue(jsonWriter, obj, context);
 }
Пример #7
0
 public void WriteJsonValue(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson?context, RuntimeTypeHandle declaredTypeHandle)
 {
     PushKnownDataContracts(context);
     WriteJsonValueCore(jsonWriter, obj, context, declaredTypeHandle);
     PopKnownDataContracts(context);
 }
 public override void WriteJsonValueCore(XmlWriterDelegator jsonWriter, object obj, XmlObjectSerializerWriteContextComplexJson?context, RuntimeTypeHandle declaredTypeHandle)
 {
     Debug.Assert(context != null);
     // IsGetOnlyCollection value has already been used to create current collectiondatacontract, value can now be reset.
     context.IsGetOnlyCollection = false;
     JsonFormatWriterDelegate(jsonWriter, obj, context, TraditionalCollectionDataContract);
 }