JsonStringDataContract.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. //----------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //----------------------------------------------------------------
  4. namespace System.Runtime.Serialization.Json
  5. {
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Text;
  9. using System.Diagnostics;
  10. using System.Xml;
  11. class JsonStringDataContract : JsonDataContract
  12. {
  13. public JsonStringDataContract(StringDataContract traditionalStringDataContract)
  14. : base(traditionalStringDataContract)
  15. {
  16. }
  17. public override object ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson context)
  18. {
  19. if (context == null)
  20. {
  21. return TryReadNullAtTopLevel(jsonReader) ? null : jsonReader.ReadElementContentAsString();
  22. }
  23. else
  24. {
  25. return HandleReadValue(jsonReader.ReadElementContentAsString(), context);
  26. }
  27. }
  28. }
  29. }