当前位置: 首页>>代码示例>>C#>>正文


C# JsonWriter.WriteStartConstructor方法代码示例

本文整理汇总了C#中JsonWriter.WriteStartConstructor方法的典型用法代码示例。如果您正苦于以下问题:C# JsonWriter.WriteStartConstructor方法的具体用法?C# JsonWriter.WriteStartConstructor怎么用?C# JsonWriter.WriteStartConstructor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在JsonWriter的用法示例。


在下文中一共展示了JsonWriter.WriteStartConstructor方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: WriteJson

    /// <summary>
    /// Writes the JSON representation of the object.
    /// </summary>
    /// <param name="writer">The <see cref="JsonWriter"/> to write to.</param>
    /// <param name="value">The value.</param>
    /// <param name="serializer">The calling serializer.</param>
    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
      long ticks;

      if (value is DateTime)
      {
        DateTime dateTime = (DateTime)value;
        DateTime utcDateTime = dateTime.ToUniversalTime();
        ticks = JsonConvert.ConvertDateTimeToJavaScriptTicks(utcDateTime);
      }
#if !PocketPC && !NET20
      else if (value is DateTimeOffset)
      {
        DateTimeOffset dateTimeOffset = (DateTimeOffset)value;
        DateTimeOffset utcDateTimeOffset = dateTimeOffset.ToUniversalTime();
        ticks = JsonConvert.ConvertDateTimeToJavaScriptTicks(utcDateTimeOffset.UtcDateTime);
      }
#endif
      else
      {
        throw new JsonSerializationException("Expected date object value.");
      }

      writer.WriteStartConstructor("Date");
      writer.WriteValue(ticks);
      writer.WriteEndConstructor();
    }
开发者ID:925coder,项目名称:ravendb,代码行数:33,代码来源:JavaScriptDateTimeConverter.cs

示例2: WriteJson

        /// <summary>
        /// Writes the JSON representation of the object.
        /// </summary>
        /// <param name="writer">The <see cref="JsonWriter"/> to write to.</param>
        /// <param name="value">The value.</param>
        /// <param name="serializer">The calling serializer.</param>
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            long ticks;

            if (value is DateTime)
            {
                var dateTime = (DateTime)value;
                var utcDateTime = dateTime.ToUniversalTime();
                ticks = DateTimeUtils.ConvertDateTimeToJavaScriptTicks(utcDateTime);
            }
            else if (value is DateTimeOffset)
            {
                var dateTimeOffset = (DateTimeOffset)value;
                var utcDateTimeOffset = dateTimeOffset.ToUniversalTime();
                ticks = DateTimeUtils.ConvertDateTimeToJavaScriptTicks(utcDateTimeOffset.UtcDateTime);
            }
            else
            {
                throw new JsonSerializationException("Expected date object value.");
            }

            writer.WriteStartConstructor("Date");
            writer.WriteValue(ticks);
            writer.WriteEndConstructor();
        }
开发者ID:sat1582,项目名称:CODEFramework,代码行数:31,代码来源:JavaScriptDateTimeConverter.cs

示例3: WriteJson

 // Token: 0x06000684 RID: 1668
 // RVA: 0x0003753C File Offset: 0x0003573C
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     if (!(value is DateTime))
     {
         throw new JsonSerializationException("Expected date object value.");
     }
     DateTime dateTime = ((DateTime)value).ToUniversalTime();
     long value2 = DateTimeUtils.ConvertDateTimeToJavaScriptTicks(dateTime);
     writer.WriteStartConstructor("Date");
     writer.WriteValue(value2);
     writer.WriteEndConstructor();
 }
开发者ID:newchild,项目名称:Project-DayZero,代码行数:14,代码来源:JavaScriptDateTimeConverter.cs

示例4: WriteJson

    /// <summary>
    /// Writes the JSON representation of the object.
    /// </summary>
    /// <param name="writer">The <see cref="JsonWriter"/> to write to.</param>
    /// <param name="value">The value.</param>
    public override void WriteJson(JsonWriter writer, object value)
    {
      long ticks;

      if (value is DateTime)
      {
        DateTime dateTime = (DateTime)value;
        DateTime utcDateTime = dateTime.ToUniversalTime();
        ticks = JavaScriptConvert.ConvertDateTimeToJavaScriptTicks(utcDateTime);
      }
      else
      {
        DateTimeOffset dateTimeOffset = (DateTimeOffset)value;
        DateTimeOffset utcDateTimeOffset = dateTimeOffset.ToUniversalTime();
        ticks = JavaScriptConvert.ConvertDateTimeToJavaScriptTicks(utcDateTimeOffset.UtcDateTime);
      }

      writer.WriteStartConstructor("Date");
      writer.WriteValue(ticks);
      writer.WriteEndConstructor();
    }
开发者ID:xxjeng,项目名称:nuxleus,代码行数:26,代码来源:JavaScriptDateTimeConverter.cs

示例5: WriteTo

        /// <summary>
        /// Writes this token to a <see cref="JsonWriter"/>.
        /// </summary>
        /// <param name="writer">A <see cref="JsonWriter"/> into which this method will write.</param>
        /// <param name="converters">A collection of <see cref="JsonConverter"/> which will be used when writing the token.</param>
        public override void WriteTo(JsonWriter writer, params JsonConverter[] converters)
        {
            writer.WriteStartConstructor(_name);

            foreach (JToken token in Children())
            {
            token.WriteTo(writer, converters);
            }

            writer.WriteEndConstructor();
        }
开发者ID:ThePiachu,项目名称:BitNet,代码行数:16,代码来源:JConstructor.cs

示例6: SerializeNode

    private void SerializeNode(JsonWriter writer, XmlNode node, bool writePropertyName)
    {
      switch (node.NodeType)
      {
        case XmlNodeType.Document:
        case XmlNodeType.DocumentFragment:
          SerializeGroupedNodes(writer, node);
          break;
        case XmlNodeType.Element:
          if (writePropertyName)
            writer.WritePropertyName(node.Name);

          if (ValueAttributes(node.Attributes).Count() == 0 && node.ChildNodes.Count == 1
                  && node.ChildNodes[0].NodeType == XmlNodeType.Text)
          {
            // write elements with a single text child as a name value pair
            writer.WriteValue(node.ChildNodes[0].Value);
          }
          else if (node.ChildNodes.Count == 0 && CollectionUtils.IsNullOrEmpty(node.Attributes))
          {
            // empty element
            writer.WriteNull();
          }
          else if (node.ChildNodes.OfType<XmlElement>().Where(x => x.Name.StartsWith("-")).Count() > 1)
          {
            XmlElement constructorValueElement = node.ChildNodes.OfType<XmlElement>().Where(x => x.Name.StartsWith("-")).First();
            string constructorName = constructorValueElement.Name.Substring(1);

            writer.WriteStartConstructor(constructorName);

            for (int i = 0; i < node.ChildNodes.Count; i++)
            {
              SerializeNode(writer, node.ChildNodes[i], false);
            }

            writer.WriteEndConstructor();
          }
          else
          {
            writer.WriteStartObject();

            for (int i = 0; i < node.Attributes.Count; i++)
            {
              SerializeNode(writer, node.Attributes[i], true);
            }

            SerializeGroupedNodes(writer, node);

            writer.WriteEndObject();
          }

          break;
        case XmlNodeType.Comment:
          if (writePropertyName)
            writer.WriteComment(node.Value);
          break;
        case XmlNodeType.Attribute:
        case XmlNodeType.Text:
        case XmlNodeType.CDATA:
        case XmlNodeType.ProcessingInstruction:
        case XmlNodeType.Whitespace:
        case XmlNodeType.SignificantWhitespace:
          if (node.Prefix == "xmlns" && node.Value == JsonNamespaceUri)
            break;
          else if (node.NamespaceURI == JsonNamespaceUri)
            break;

          if (writePropertyName)
            writer.WritePropertyName(GetPropertyName(node));
          writer.WriteValue(node.Value);
          break;
        case XmlNodeType.XmlDeclaration:
          XmlDeclaration declaration = (XmlDeclaration)node;
          writer.WritePropertyName(GetPropertyName(node));
          writer.WriteStartObject();

          if (!string.IsNullOrEmpty(declaration.Version))
          {
            writer.WritePropertyName("@version");
            writer.WriteValue(declaration.Version);
          }
          if (!string.IsNullOrEmpty(declaration.Encoding))
          {
            writer.WritePropertyName("@encoding");
            writer.WriteValue(declaration.Encoding);
          }
          if (!string.IsNullOrEmpty(declaration.Standalone))
          {
            writer.WritePropertyName("@standalone");
            writer.WriteValue(declaration.Standalone);
          }

          writer.WriteEndObject();
          break;
        default:
          throw new JsonSerializationException("Unexpected XmlNodeType when serializing nodes: " + node.NodeType);
      }
    }
开发者ID:matthewcanty,项目名称:worldpay-lib-dotnet,代码行数:98,代码来源:XmlNodeConverter.cs

示例7: WriteTo

        public override void WriteTo(JsonWriter writer)
        {
            writer.WriteStartConstructor(_name);

              foreach (JToken token in Children())
              {
            token.WriteTo(writer);
              }

              writer.WriteEndConstructor();
        }
开发者ID:nhatkycon,项目名称:AoCuoiHongNhung,代码行数:11,代码来源:JConstructor.cs

示例8: WriteTo

 // Token: 0x060008CE RID: 2254
 // RVA: 0x0003D590 File Offset: 0x0003B790
 public override void WriteTo(JsonWriter writer, params JsonConverter[] converters)
 {
     writer.WriteStartConstructor(this._name);
     foreach (JToken current in this.Children())
     {
         current.WriteTo(writer, converters);
     }
     writer.WriteEndConstructor();
 }
开发者ID:newchild,项目名称:Project-DayZero,代码行数:11,代码来源:JConstructor.cs


注:本文中的JsonWriter.WriteStartConstructor方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。