protected override void ExportValue(object value, JsonWriter writer)
        {
            Debug.Assert(value != null);
            Debug.Assert(writer != null);

            ExportTable((DataTable) value, writer);
        }
        /// <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)
        {
            string text;

            if (value is DateTime)
            {
                DateTime dateTime = (DateTime)value;

                if ((_dateTimeStyles & DateTimeStyles.AdjustToUniversal) == DateTimeStyles.AdjustToUniversal
                    || (_dateTimeStyles & DateTimeStyles.AssumeUniversal) == DateTimeStyles.AssumeUniversal)
                    dateTime = dateTime.ToUniversalTime();

                text = dateTime.ToString(_dateTimeFormat ?? DefaultDateTimeFormat, Culture);
            }
#if !NET20
            else if (value is DateTimeOffset)
            {
                DateTimeOffset dateTimeOffset = (DateTimeOffset)value;
                if ((_dateTimeStyles & DateTimeStyles.AdjustToUniversal) == DateTimeStyles.AdjustToUniversal
                    || (_dateTimeStyles & DateTimeStyles.AssumeUniversal) == DateTimeStyles.AssumeUniversal)
                    dateTimeOffset = dateTimeOffset.ToUniversalTime();

                text = dateTimeOffset.ToString(_dateTimeFormat ?? DefaultDateTimeFormat, Culture);
            }
#endif
            else
            {
                throw new JsonSerializationException("Unexpected value when converting date. Expected DateTime or DateTimeOffset, got {0}.".FormatWith(CultureInfo.InvariantCulture, ReflectionUtils.GetObjectType(value)));
            }

            writer.WriteValue(text);
        }
    public void Serialize(JsonWriter jsonWriter, object value)
    {
      if (jsonWriter == null)
        throw new ArgumentNullException("jsonWriter");

      SerializeValue(jsonWriter, value, GetContractSafe(value), null, null, null);
    }
        internal static void ExportTable(DataTable table, JsonWriter writer)
        {
            Debug.Assert(table != null);
            Debug.Assert(writer != null);

            DataViewExporter.ExportView(table.DefaultView, writer);
       }
    /// <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();
    }
    private void SerializePrimitive(JsonWriter writer, object value, JsonPrimitiveContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerProperty)
    {
      if (contract.UnderlyingType == typeof (byte[]))
      {
        bool includeTypeDetails = ShouldWriteType(TypeNameHandling.Objects, contract, member, containerContract, containerProperty);
        if (includeTypeDetails)
        {
          writer.WriteStartObject();
          WriteTypeProperty(writer, contract.CreatedType);
          writer.WritePropertyName(JsonTypeReflector.ValuePropertyName);

          if (contract.IsNullable)
            writer.WriteValue(value, true);
          else
            writer.WriteValue(value);

          writer.WriteEndObject();
          return;
        }
      }

      if (contract.IsNullable)
        writer.WriteValue(value, true);
      else
        writer.WriteValue(value);
    }
        /// <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)
        {
            EnsureReflectionObject(value.GetType());

            DefaultContractResolver resolver = serializer.ContractResolver as DefaultContractResolver;

            string keyName = (string)_reflectionObject.GetValue(value, KeyPropertyName);
            object keyValue = _reflectionObject.GetValue(value, ValuePropertyName);

            Type keyValueType = (keyValue != null) ? keyValue.GetType() : null;

            writer.WriteStartObject();
            writer.WritePropertyName((resolver != null) ? resolver.GetResolvedPropertyName(KeyPropertyName) : KeyPropertyName);
            writer.WriteValue(keyName);
            writer.WritePropertyName((resolver != null) ? resolver.GetResolvedPropertyName(TypePropertyName) : TypePropertyName);
            writer.WriteValue((keyValueType != null) ? keyValueType.FullName : null);

            writer.WritePropertyName((resolver != null) ? resolver.GetResolvedPropertyName(ValuePropertyName) : ValuePropertyName);

            if (keyValueType != null)
            {
                string valueJson;
                if (JsonSerializerInternalWriter.TryConvertToString(keyValue, keyValueType, out valueJson))
                    writer.WriteValue(valueJson);
                else
                    writer.WriteValue(keyValue);
            }
            else
            {
                writer.WriteNull();
            }

            writer.WriteEndObject();
        }
        /// <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)
        {
            DataTable table = (DataTable)value;
            DefaultContractResolver resolver = serializer.ContractResolver as DefaultContractResolver;

            writer.WriteStartArray();

            foreach (DataRow row in table.Rows)
            {
                writer.WriteStartObject();
                foreach (DataColumn column in row.Table.Columns)
                {
                    object columnValue = row[column];

                    if (serializer.NullValueHandling == NullValueHandling.Ignore && (columnValue == null || columnValue == DBNull.Value))
                    {
                        continue;
                    }

                    writer.WritePropertyName((resolver != null) ? resolver.GetResolvedPropertyName(column.ColumnName) : column.ColumnName);
                    serializer.Serialize(writer, columnValue);
                }
                writer.WriteEndObject();
            }

            writer.WriteEndArray();
        }
    /// <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)
    {
      if (value == null)
      {
        writer.WriteNull();
        return;
      }

      Enum e = (Enum)value;

      string enumName = e.ToString("G");

      if (char.IsNumber(enumName[0]) || enumName[0] == '-')
      {
        writer.WriteValue(value);
      }
      else
      {
        BidirectionalDictionary<string, string> map = GetEnumNameMap(e.GetType());

        string resolvedEnumName;
        map.TryGetByFirst(enumName, out resolvedEnumName);
        resolvedEnumName = resolvedEnumName ?? enumName;

        if (CamelCaseText)
        {
          string[] names = resolvedEnumName.Split(',').Select(item => StringUtils.ToCamelCase(item.Trim())).ToArray();
          resolvedEnumName = string.Join(", ", names);
        }

        writer.WriteValue(resolvedEnumName);
      }
    }
Exemple #10
0
 public void WritesEscapedUnicodeCharacters()
 {
     var sw = new StringWriter();
     var writer = new JsonWriter(sw);
     writer.WriteValue("this is escaped: \u3034");
     Assert.AreEqual("\"this is escaped: \\u3034\"", sw.ToString());
 }
        /// <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)
        {
            if (value == null)
            {
                writer.WriteNull();
                return;
            }

            Enum e = (Enum)value;

            string enumName = e.ToString("G");

            if (char.IsNumber(enumName[0]) || enumName[0] == '-')
            {
                // enum value has no name so write number
                writer.WriteValue(value);
            }
            else
            {
                Type enumType = e.GetType();

                string finalName = EnumUtils.ToEnumName(enumType, enumName, CamelCaseText);

                writer.WriteValue(finalName);
            }
        }
Exemple #12
0
 public void WritesEscapedQuoteString()
 {
     var sw = new StringWriter();
     var writer = new JsonWriter(sw);
     writer.WriteValue("this is escaped: \"");
     Assert.AreEqual("\"this is escaped: \\\"\"", sw.ToString());
 }
Exemple #13
0
 public void WritesEscapedControlCharacters()
 {
     var sw = new StringWriter();
     var writer = new JsonWriter(sw);
     writer.WriteValue("this is escaped: \b\f\n\r\t\x17");
     Assert.AreEqual("\"this is escaped: \\b\\f\\n\\r\\t\\x17\"", sw.ToString());
 }
    /// <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);
      } else if (value is DateTimeOffset) {
        DateTimeOffset dateTimeOffset = (DateTimeOffset)value;
        DateTimeOffset utcDateTimeOffset = dateTimeOffset.ToUniversalTime();
        ticks = JsonConvert.ConvertDateTimeToJavaScriptTicks(utcDateTimeOffset.UtcDateTime);
      } else {
        throw new Exception("Expected date object value.");
      }*/

      //writer.WriteStartConstructor("Date");
      //writer.WriteValue(ticks);
      //writer.WriteEndConstructor();
      if (value is DateTime) {
        DateTime dateTime = (DateTime)value;
        DateTime vLocValue = DateTime.SpecifyKind(dateTime, DateTimeKind.Utc);
        writer.WriteValue(vLocValue);
      } else {
        throw new Exception("Expected date object value.");
      }
    }
Exemple #15
0
 public void WritesNonEscapedString()
 {
     var sw = new StringWriter();
     var writer = new JsonWriter(sw);
     writer.WriteValue("hello, world");
     Assert.AreEqual("\"hello, world\"", sw.ToString());
 }
    /// <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)
    {
      IEntityKeyMember entityKeyMember = DynamicWrapper.CreateWrapper<IEntityKeyMember>(value);
      Type keyType = (entityKeyMember.Value != null) ? entityKeyMember.Value.GetType() : null;

      writer.WriteStartObject();
      writer.WritePropertyName("Key");
      writer.WriteValue(entityKeyMember.Key);
      writer.WritePropertyName("Type");
      writer.WriteValue((keyType != null) ? keyType.FullName : null);

      writer.WritePropertyName("Value");

      if (keyType != null)
      {
        string valueJson;
        if (JsonSerializerInternalWriter.TryConvertToString(entityKeyMember.Value, keyType, out valueJson))
          writer.WriteValue(valueJson);
        else
          writer.WriteValue(entityKeyMember.Value);
      }
      else
      {
        writer.WriteNull();
      }

      writer.WriteEndObject();
    }
Exemple #17
0
 public void WriteToService()
 {
     System.Text.StringBuilder m_write = new System.Text.StringBuilder();
     JsonWriter m_writer = new JsonWriter(m_write);
     m_writer.WriteObjectStart();
     m_writer.WritePropertyName("ButtonID");
 }
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var converter = GetConverter(value.GetType());
            var text = converter.ConvertToInvariantString(value);

            writer.WriteValue(text);
        }
    /// <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)
    {
      if (value == null)
      {
        writer.WriteNull();
        return;
      }

      Enum e = (Enum)value;

      string enumName = e.ToString("G");

      if (char.IsNumber(enumName[0]) || enumName[0] == '-')
      {
        writer.WriteValue(value);
      }
      else
      {
        BidirectionalDictionary<string, string> map = GetEnumNameMap(e.GetType());

        string resolvedEnumName;
        map.TryGetByFirst(enumName, out resolvedEnumName);
        resolvedEnumName = resolvedEnumName ?? enumName;

		if (CamelCaseText)
          resolvedEnumName = StringUtils.ToCamelCase(resolvedEnumName);

        writer.WriteValue(resolvedEnumName);
      }
    }
Exemple #20
0
 public void WritesByte()
 {
     var sw = new StringWriter();
     var writer = new JsonWriter(sw);
     writer.WriteValue((Byte)123);
     Assert.AreEqual("123", sw.ToString());
 }
        public void JsonWriter_EscapeCharacters()
        {
            var body = new Dictionary<string, object>();
            body.Add("b", "\b");
            body.Add("t", "\t");
            body.Add("n", "\n");
            body.Add("f", "\f");
            body.Add("r", "\r");
            body.Add("q", "\"");
            body.Add("rs", "\\");
            var sb = new StringBuilder();
            using (var sw = new StringWriter(sb))
            {
                var jw = new JsonWriter(sw);
                jw.WriteValue(body);
                sw.Flush();
            }

            Assert.AreEqual("{" +
                @"""b"":""\u0008""," +
                @"""t"":""\u0009""," +
                @"""n"":""\u000a""," +
                @"""f"":""\u000c""," +
                @"""r"":""\u000d""," +
                @"""q"":""\""""," +
                @"""rs"":""\\""" + "}",
                sb.ToString());
        }
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (value is string)
            {
                if (Value_RE.Match(value.ToString()).Success) 
                {
                    writer.WriteRawValue(value.ToString()); 
                }
                else
                {
                    string prms;
                    
                    switch (this.Name)
                    {
                        case "before":
                            prms = "el,type,action,extraParams,o";
                            break;
                        case "complete":
                            prms = "success,response,result,el,type,action,extraParams,o";
                            break;
                        default:
                            prms = "response,result,el,type,action,extraParams,o";
                            break;
                    }

                    value = TokenUtils.ReplaceRawToken(TokenUtils.ParseTokens(value.ToString(), this.OwnerControl));
                    writer.WriteRawValue(new JFunction((string)value, prms).ToScript()); 
                }
            }
        }
Exemple #23
0
    public void ValueFormatting()
    {
      StringBuilder sb = new StringBuilder();
      StringWriter sw = new StringWriter(sb);

      using (JsonWriter jsonWriter = new JsonWriter(sw))
      {
        jsonWriter.WriteStartArray();
        jsonWriter.WriteValue('@');
        jsonWriter.WriteValue("\r\n\t\f\b?{\\r\\n\"\'");
        jsonWriter.WriteValue(true);
        jsonWriter.WriteValue(10);
        jsonWriter.WriteValue(10.99);
        jsonWriter.WriteValue(0.99);
        jsonWriter.WriteValue(0.000000000000000001d);
        jsonWriter.WriteValue(0.000000000000000001m);
        jsonWriter.WriteValue(null);
        jsonWriter.WriteValue("This is a string.");
        jsonWriter.WriteNull();
        jsonWriter.WriteUndefined();
        jsonWriter.WriteEndArray();
      }

      const string expected = @"[""@"",""\r\n\t\f\b?{\\r\\n\""'"",true,10,10.99,0.99,1E-18,0.000000000000000001,,""This is a string."",null,undefined]";
      string result = sb.ToString();

      Console.WriteLine("ValueFormatting");
      Console.WriteLine(result);

      Assert.AreEqual(expected, result);
    }
    public override void WriteJson(JsonWriter writer, object value)
    {
      DateTime dateTime = (DateTime)value;
      long javaScriptTicks = JavaScriptConvert.ConvertDateTimeToJavaScriptTicks(dateTime);

      writer.WriteValue("@" + javaScriptTicks.ToString(null, CultureInfo.InvariantCulture) + "@");
    }
		/// <summary>
		/// Write this target to a JsonWriter
		/// </summary>
		/// <param name="Writer">Writer to output to</param>
		void Write(JsonWriter Writer)
		{
			Writer.WriteObjectStart();
			Writer.WriteValue("Name", Name);
			Writer.WriteValue("LoadingPolicy", LoadingPolicy.ToString());
			Writer.WriteObjectEnd();
		}
    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
        var dataResult = value as DataResult;

            #region 序列化DataResult对象

            writer.WriteStartObject();
            // 写total属性
            writer.WritePropertyName("total");
            serializer.Serialize(writer, dataResult.Total);
            // 写pagecount属性
            writer.WritePropertyName("pagecount");
            serializer.Serialize(writer, dataResult.PageCount);
            // 写pageindex属性
            writer.WritePropertyName("pageindex");
            serializer.Serialize(writer, dataResult.PageIndex);

            // 写rows属性
            var converter = new DataTableConverter();
            writer.WritePropertyName("rows");
            converter.WriteJson(writer, dataResult.Data, serializer);
            writer.WriteEndObject();

            #endregion
    }
 protected override void ExportValue(ExportContext context, object value, JsonWriter writer)
 {
     Debug.Assert(value != null);
     Debug.Assert(writer != null);
     
     ExportTime((DateTime) value, writer);
 }
Exemple #28
0
    void WriteResponseForPostJson(HttpRequest request, HttpResponse response)
    {
        // read request JSON
        uint requestedCount = ReadCount(request.Body);

        // write response JSON
        var json = new JsonWriter<ResponseFormatter>(response.Body, prettyPrint: false);
        json.WriteObjectStart();
        json.WriteArrayStart();
        for (int i = 0; i < requestedCount; i++) {
            json.WriteString("hello!"); 
        }
        json.WriteArrayEnd();
        json.WriteObjectEnd();

        // write headers
        var headers = response.Headers;
        headers.AppendHttpStatusLine(HttpVersion.V1_1, 200, new Utf8String("OK"));
        headers.Append("Content-Length : ");
        headers.Append(response.Body.CommitedBytes);
        headers.AppendHttpNewLine();
        headers.Append("Content-Type : text/plain; charset=UTF-8");
        headers.AppendHttpNewLine();
        headers.Append("Server : .NET Core Sample Server");
        headers.AppendHttpNewLine();
        headers.Append("Date : ");
        headers.Append(DateTime.UtcNow, 'R');
        headers.AppendHttpNewLine();
        headers.AppendHttpNewLine();
    }
        protected override void ExportValue(ExportContext context, object value, JsonWriter writer)
        {
            Debug.Assert(context != null);
            Debug.Assert(value != null);
            Debug.Assert(writer != null);
            
            if (_properties.Count == 0)
            {
                writer.WriteString(value.ToString());
            }
            else
            {
                writer.WriteStartObject();

                foreach (PropertyDescriptor property in _properties)
                {
                    object propertyValue = property.GetValue(value);
                
                    if (!JsonNull.LogicallyEquals(propertyValue))
                    {
                        writer.WriteMember(property.Name);
                        context.Export(propertyValue, writer);
                    }
                }

                writer.WriteEndObject();
            }
        }
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     if (value is string[])
     {
         writer.WriteRawValue("[{0}]".FormatWith(((string[])value).Join(",", "\"{0}\"")));
     }
 }
Exemple #31
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(GenerateDataKeyRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.KeyManagementService");
            string   target  = "TrentService.GenerateDataKey";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2014-11-01";
            request.HttpMethod = "POST";

            request.ResourcePath = "/";
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetEncryptionContext())
                {
                    context.Writer.WritePropertyName("EncryptionContext");
                    context.Writer.WriteObjectStart();
                    foreach (var publicRequestEncryptionContextKvp in publicRequest.EncryptionContext)
                    {
                        context.Writer.WritePropertyName(publicRequestEncryptionContextKvp.Key);
                        var publicRequestEncryptionContextValue = publicRequestEncryptionContextKvp.Value;

                        context.Writer.Write(publicRequestEncryptionContextValue);
                    }
                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetGrantTokens())
                {
                    context.Writer.WritePropertyName("GrantTokens");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestGrantTokensListValue in publicRequest.GrantTokens)
                    {
                        context.Writer.Write(publicRequestGrantTokensListValue);
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetKeyId())
                {
                    context.Writer.WritePropertyName("KeyId");
                    context.Writer.Write(publicRequest.KeyId);
                }

                if (publicRequest.IsSetKeySpec())
                {
                    context.Writer.WritePropertyName("KeySpec");
                    context.Writer.Write(publicRequest.KeySpec);
                }

                if (publicRequest.IsSetNumberOfBytes())
                {
                    context.Writer.WritePropertyName("NumberOfBytes");
                    context.Writer.Write(publicRequest.NumberOfBytes);
                }

                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Exemple #32
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(StartDocumentClassificationJobRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.Comprehend");
            string   target  = "Comprehend_20171127.StartDocumentClassificationJob";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2017-11-27";
            request.HttpMethod = "POST";

            request.ResourcePath = "/";
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetClientRequestToken())
                {
                    context.Writer.WritePropertyName("ClientRequestToken");
                    context.Writer.Write(publicRequest.ClientRequestToken);
                }

                else if (!(publicRequest.IsSetClientRequestToken()))
                {
                    context.Writer.WritePropertyName("ClientRequestToken");
                    context.Writer.Write(Guid.NewGuid().ToString());
                }
                if (publicRequest.IsSetDataAccessRoleArn())
                {
                    context.Writer.WritePropertyName("DataAccessRoleArn");
                    context.Writer.Write(publicRequest.DataAccessRoleArn);
                }

                if (publicRequest.IsSetDocumentClassifierArn())
                {
                    context.Writer.WritePropertyName("DocumentClassifierArn");
                    context.Writer.Write(publicRequest.DocumentClassifierArn);
                }

                if (publicRequest.IsSetInputDataConfig())
                {
                    context.Writer.WritePropertyName("InputDataConfig");
                    context.Writer.WriteObjectStart();

                    var marshaller = InputDataConfigMarshaller.Instance;
                    marshaller.Marshall(publicRequest.InputDataConfig, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetJobName())
                {
                    context.Writer.WritePropertyName("JobName");
                    context.Writer.Write(publicRequest.JobName);
                }

                if (publicRequest.IsSetOutputDataConfig())
                {
                    context.Writer.WritePropertyName("OutputDataConfig");
                    context.Writer.WriteObjectStart();

                    var marshaller = OutputDataConfigMarshaller.Instance;
                    marshaller.Marshall(publicRequest.OutputDataConfig, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetTags())
                {
                    context.Writer.WritePropertyName("Tags");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestTagsListValue in publicRequest.Tags)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = TagMarshaller.Instance;
                        marshaller.Marshall(publicRequestTagsListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetVolumeKmsKeyId())
                {
                    context.Writer.WritePropertyName("VolumeKmsKeyId");
                    context.Writer.Write(publicRequest.VolumeKmsKeyId);
                }

                if (publicRequest.IsSetVpcConfig())
                {
                    context.Writer.WritePropertyName("VpcConfig");
                    context.Writer.WriteObjectStart();

                    var marshaller = VpcConfigMarshaller.Instance;
                    marshaller.Marshall(publicRequest.VpcConfig, context);

                    context.Writer.WriteObjectEnd();
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Exemple #33
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            IPAddress ip = (IPAddress)value;

            writer.WriteValue(ip.ToString());
        }
Exemple #34
0
 public override void WriteJson(JsonWriter writer, Game value, JsonSerializer serializer)
 {
     writer.WriteValue(Enum.GetName(typeof(Game), value));
 }
Exemple #35
0
 public override void WriteJson(JsonWriter writer, Percent value, JsonSerializer serializer)
 {
     writer.WriteValue(value.Value);
 }
Exemple #36
0
 public override void WriteJson(JsonWriter writer, AbsolutePath value, JsonSerializer serializer)
 {
     writer.WriteValue((string)value);
 }
Exemple #37
0
 public override void WriteJson(JsonWriter writer, Hash value, JsonSerializer serializer)
 {
     writer.WriteValue(value.ToBase64());
 }
Exemple #38
0
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     writer.WriteValue(((pvs_proxy_status)value).StringOf());
 }
 private void WriteProperty <T>(JsonWriter writer, string key, T value)
 {
     writer.WritePropertyName(key);
     writer.WriteValue(value);
 }
Exemple #40
0
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(CreateStageRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.APIGateway");

            request.Headers["Content-Type"] = "application/json";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2015-07-09";
            request.HttpMethod = "POST";

            if (!publicRequest.IsSetRestApiId())
            {
                throw new AmazonAPIGatewayException("Request object does not have required field RestApiId set");
            }
            request.AddPathResource("{restapi_id}", StringUtils.FromString(publicRequest.RestApiId));
            request.ResourcePath = "/restapis/{restapi_id}/stages";
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetCacheClusterEnabled())
                {
                    context.Writer.WritePropertyName("cacheClusterEnabled");
                    context.Writer.Write(publicRequest.CacheClusterEnabled);
                }

                if (publicRequest.IsSetCacheClusterSize())
                {
                    context.Writer.WritePropertyName("cacheClusterSize");
                    context.Writer.Write(publicRequest.CacheClusterSize);
                }

                if (publicRequest.IsSetCanarySettings())
                {
                    context.Writer.WritePropertyName("canarySettings");
                    context.Writer.WriteObjectStart();

                    var marshaller = CanarySettingsMarshaller.Instance;
                    marshaller.Marshall(publicRequest.CanarySettings, context);

                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetDeploymentId())
                {
                    context.Writer.WritePropertyName("deploymentId");
                    context.Writer.Write(publicRequest.DeploymentId);
                }

                if (publicRequest.IsSetDescription())
                {
                    context.Writer.WritePropertyName("description");
                    context.Writer.Write(publicRequest.Description);
                }

                if (publicRequest.IsSetDocumentationVersion())
                {
                    context.Writer.WritePropertyName("documentationVersion");
                    context.Writer.Write(publicRequest.DocumentationVersion);
                }

                if (publicRequest.IsSetStageName())
                {
                    context.Writer.WritePropertyName("stageName");
                    context.Writer.Write(publicRequest.StageName);
                }

                if (publicRequest.IsSetTags())
                {
                    context.Writer.WritePropertyName("tags");
                    context.Writer.WriteObjectStart();
                    foreach (var publicRequestTagsKvp in publicRequest.Tags)
                    {
                        context.Writer.WritePropertyName(publicRequestTagsKvp.Key);
                        var publicRequestTagsValue = publicRequestTagsKvp.Value;

                        context.Writer.Write(publicRequestTagsValue);
                    }
                    context.Writer.WriteObjectEnd();
                }

                if (publicRequest.IsSetTracingEnabled())
                {
                    context.Writer.WritePropertyName("tracingEnabled");
                    context.Writer.Write(publicRequest.TracingEnabled);
                }

                if (publicRequest.IsSetVariables())
                {
                    context.Writer.WritePropertyName("variables");
                    context.Writer.WriteObjectStart();
                    foreach (var publicRequestVariablesKvp in publicRequest.Variables)
                    {
                        context.Writer.WritePropertyName(publicRequestVariablesKvp.Key);
                        var publicRequestVariablesValue = publicRequestVariablesKvp.Value;

                        context.Writer.Write(publicRequestVariablesValue);
                    }
                    context.Writer.WriteObjectEnd();
                }

                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
Exemple #41
0
        public override void WriteJson(JsonWriter writer,
                                       object untypedValue,
                                       JsonSerializer serializer)
        {
            SortUnion value = (SortUnion)untypedValue;

            if (value.IsNull)
            {
                serializer.Serialize(writer,
                                     null);

                return;
            }

            if (value.Enum != null)
            {
                switch (value.Enum)
                {
                case Sort.SortColor:
                    serializer.Serialize(writer,
                                         "-color");

                    return;

                case Sort.SortFill:
                    serializer.Serialize(writer,
                                         "-fill");

                    return;

                case Sort.SortFillOpacity:
                    serializer.Serialize(writer,
                                         "-fillOpacity");

                    return;

                case Sort.SortOpacity:
                    serializer.Serialize(writer,
                                         "-opacity");

                    return;

                case Sort.SortShape:
                    serializer.Serialize(writer,
                                         "-shape");

                    return;

                case Sort.SortSize:
                    serializer.Serialize(writer,
                                         "-size");

                    return;

                case Sort.SortStroke:
                    serializer.Serialize(writer,
                                         "-stroke");

                    return;

                case Sort.SortStrokeOpacity:
                    serializer.Serialize(writer,
                                         "-strokeOpacity");

                    return;

                case Sort.SortStrokeWidth:
                    serializer.Serialize(writer,
                                         "-strokeWidth");

                    return;

                case Sort.SortText:
                    serializer.Serialize(writer,
                                         "-text");

                    return;

                case Sort.SortX:
                    serializer.Serialize(writer,
                                         "-x");

                    return;

                case Sort.SortY:
                    serializer.Serialize(writer,
                                         "-y");

                    return;

                case Sort.Ascending:
                    serializer.Serialize(writer,
                                         "ascending");

                    return;

                case Sort.Color:
                    serializer.Serialize(writer,
                                         "color");

                    return;

                case Sort.Descending:
                    serializer.Serialize(writer,
                                         "descending");

                    return;

                case Sort.Fill:
                    serializer.Serialize(writer,
                                         "fill");

                    return;

                case Sort.FillOpacity:
                    serializer.Serialize(writer,
                                         "fillOpacity");

                    return;

                case Sort.Opacity:
                    serializer.Serialize(writer,
                                         "opacity");

                    return;

                case Sort.Shape:
                    serializer.Serialize(writer,
                                         "shape");

                    return;

                case Sort.Size:
                    serializer.Serialize(writer,
                                         "size");

                    return;

                case Sort.Stroke:
                    serializer.Serialize(writer,
                                         "stroke");

                    return;

                case Sort.StrokeOpacity:
                    serializer.Serialize(writer,
                                         "strokeOpacity");

                    return;

                case Sort.StrokeWidth:
                    serializer.Serialize(writer,
                                         "strokeWidth");

                    return;

                case Sort.Text:
                    serializer.Serialize(writer,
                                         "text");

                    return;

                case Sort.X:
                    serializer.Serialize(writer,
                                         "x");

                    return;

                case Sort.Y:
                    serializer.Serialize(writer,
                                         "y");

                    return;
                }
            }

            if (value.AnythingArray != null)
            {
                serializer.Serialize(writer,
                                     value.AnythingArray);

                return;
            }

            if (value.EncodingSortField != null)
            {
                serializer.Serialize(writer,
                                     value.EncodingSortField);

                return;
            }

            throw new Exception("Cannot marshal type SortUnion");
        }
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(CopyProductRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.ServiceCatalog");
            string   target  = "AWS242ServiceCatalogService.CopyProduct";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2015-12-10";
            request.HttpMethod = "POST";

            string uriResourcePath = "/";

            request.ResourcePath = uriResourcePath;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetAcceptLanguage())
                {
                    context.Writer.WritePropertyName("AcceptLanguage");
                    context.Writer.Write(publicRequest.AcceptLanguage);
                }

                if (publicRequest.IsSetCopyOptions())
                {
                    context.Writer.WritePropertyName("CopyOptions");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestCopyOptionsListValue in publicRequest.CopyOptions)
                    {
                        context.Writer.Write(publicRequestCopyOptionsListValue);
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetIdempotencyToken())
                {
                    context.Writer.WritePropertyName("IdempotencyToken");
                    context.Writer.Write(publicRequest.IdempotencyToken);
                }

                else if (!(publicRequest.IsSetIdempotencyToken()))
                {
                    context.Writer.WritePropertyName("IdempotencyToken");
                    context.Writer.Write(Guid.NewGuid().ToString());
                }
                if (publicRequest.IsSetSourceProductArn())
                {
                    context.Writer.WritePropertyName("SourceProductArn");
                    context.Writer.Write(publicRequest.SourceProductArn);
                }

                if (publicRequest.IsSetSourceProvisioningArtifactIdentifiers())
                {
                    context.Writer.WritePropertyName("SourceProvisioningArtifactIdentifiers");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestSourceProvisioningArtifactIdentifiersListValue in publicRequest.SourceProvisioningArtifactIdentifiers)
                    {
                        context.Writer.WriteObjectStart();
                        foreach (var publicRequestSourceProvisioningArtifactIdentifiersListValueKvp in publicRequestSourceProvisioningArtifactIdentifiersListValue)
                        {
                            context.Writer.WritePropertyName(publicRequestSourceProvisioningArtifactIdentifiersListValueKvp.Key);
                            var publicRequestSourceProvisioningArtifactIdentifiersListValueValue = publicRequestSourceProvisioningArtifactIdentifiersListValueKvp.Value;

                            context.Writer.Write(publicRequestSourceProvisioningArtifactIdentifiersListValueValue);
                        }
                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetTargetProductId())
                {
                    context.Writer.WritePropertyName("TargetProductId");
                    context.Writer.Write(publicRequest.TargetProductId);
                }

                if (publicRequest.IsSetTargetProductName())
                {
                    context.Writer.WritePropertyName("TargetProductName");
                    context.Writer.Write(publicRequest.TargetProductName);
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
 public void Serialize(ref JsonWriter writer, ValueTask <T> value, IJsonFormatterResolver formatterResolver)
 {
     // value.Result -> wait...!
     formatterResolver.GetFormatterWithVerify <T>().Serialize(ref writer, value.Result, formatterResolver);
 }
Exemple #44
0
            public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
            {
                int time = (StardewTime)value;

                JToken.FromObject(time, serializer).WriteTo(writer); //write the value to JSON as an integer
            }
 // MEMO:can be improvement write directly
 public void Serialize(ref JsonWriter writer, char value, IJsonFormatterResolver formatterResolver)
 {
     writer.WriteString(value.ToString(CultureInfo.InvariantCulture));
 }
 public void SerializeToPropertyName(ref JsonWriter writer, string value, IJsonFormatterResolver formatterResolver)
 {
     writer.WriteString(value);
 }
Exemple #47
0
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     serializer.Serialize(writer, value);
 }
 public void Serialize(ref JsonWriter writer, BigInteger value, IJsonFormatterResolver formatterResolver)
 {
     // JSON.NET writes Integer format, not compatible.
     writer.WriteString(value.ToString(CultureInfo.InvariantCulture));
 }
        public override void WriteJson(JsonWriter writer, ObservableValue<T> value, JsonSerializer serializer)
        {
            if (value == null) serializer.Serialize(writer, null);

            serializer.Serialize(writer, value.value);
        }
Exemple #50
0
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     throw new NotImplementedException();
 }
Exemple #51
0
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     writer.WriteNull();
 }
Exemple #52
0
        /// <inheritdoc />
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            var validateType = value as ValidateType;

            serializer.Serialize(writer, validateType != null ? validateType.Value : null);
        }
Exemple #53
0
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     serializer.Serialize(writer, ((QueueType)value).ToCustomString());
 }
Exemple #54
0
        public void Serialize(ref JsonWriter writer, TDictionary value, IJsonFormatterResolver formatterResolver)
        {
            if (value == null)
            {
                writer.WriteNull();
                return;
            }
            else
            {
                var keyFormatter   = formatterResolver.GetFormatterWithVerify <TKey>() as IObjectPropertyNameFormatter <TKey>;
                var valueFormatter = formatterResolver.GetFormatterWithVerify <TValue>();

                writer.WriteBeginObject();

                var e = GetSourceEnumerator(value);
                try
                {
                    if (keyFormatter != null)
                    {
                        if (e.MoveNext())
                        {
                            var item = e.Current;
                            keyFormatter.SerializeToPropertyName(ref writer, item.Key, formatterResolver);
                            writer.WriteNameSeparator();
                            valueFormatter.Serialize(ref writer, item.Value, formatterResolver);
                        }
                        else
                        {
                            goto END;
                        }

                        while (e.MoveNext())
                        {
                            writer.WriteValueSeparator();
                            var item = e.Current;
                            keyFormatter.SerializeToPropertyName(ref writer, item.Key, formatterResolver);
                            writer.WriteNameSeparator();
                            valueFormatter.Serialize(ref writer, item.Value, formatterResolver);
                        }
                    }
                    else
                    {
                        if (e.MoveNext())
                        {
                            var item = e.Current;
                            writer.WriteString(item.Key.ToString());
                            writer.WriteNameSeparator();
                            valueFormatter.Serialize(ref writer, item.Value, formatterResolver);
                        }
                        else
                        {
                            goto END;
                        }

                        while (e.MoveNext())
                        {
                            writer.WriteValueSeparator();
                            var item = e.Current;
                            writer.WriteString(item.Key.ToString());
                            writer.WriteNameSeparator();
                            valueFormatter.Serialize(ref writer, item.Value, formatterResolver);
                        }
                    }
                }
                finally
                {
                    e.Dispose();
                }

END:
                writer.WriteEndObject();
            }
        }
Exemple #55
0
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     writer.WriteValue(((DateTime)value).ToString("yyyy-MM-ddTHH:mm:ss"));
 }
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(GetComplianceSummaryRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.ResourceGroupsTaggingAPI");
            string   target  = "ResourceGroupsTaggingAPI_20170126.GetComplianceSummary";

            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2017-01-26";
            request.HttpMethod = "POST";

            request.ResourcePath = "/";
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if (publicRequest.IsSetGroupBy())
                {
                    context.Writer.WritePropertyName("GroupBy");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestGroupByListValue in publicRequest.GroupBy)
                    {
                        context.Writer.Write(publicRequestGroupByListValue);
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetMaxResults())
                {
                    context.Writer.WritePropertyName("MaxResults");
                    context.Writer.Write(publicRequest.MaxResults);
                }

                if (publicRequest.IsSetPaginationToken())
                {
                    context.Writer.WritePropertyName("PaginationToken");
                    context.Writer.Write(publicRequest.PaginationToken);
                }

                if (publicRequest.IsSetRegionFilters())
                {
                    context.Writer.WritePropertyName("RegionFilters");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestRegionFiltersListValue in publicRequest.RegionFilters)
                    {
                        context.Writer.Write(publicRequestRegionFiltersListValue);
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetResourceTypeFilters())
                {
                    context.Writer.WritePropertyName("ResourceTypeFilters");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestResourceTypeFiltersListValue in publicRequest.ResourceTypeFilters)
                    {
                        context.Writer.Write(publicRequestResourceTypeFiltersListValue);
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetTagKeyFilters())
                {
                    context.Writer.WritePropertyName("TagKeyFilters");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestTagKeyFiltersListValue in publicRequest.TagKeyFilters)
                    {
                        context.Writer.Write(publicRequestTagKeyFiltersListValue);
                    }
                    context.Writer.WriteArrayEnd();
                }

                if (publicRequest.IsSetTargetIdFilters())
                {
                    context.Writer.WritePropertyName("TargetIdFilters");
                    context.Writer.WriteArrayStart();
                    foreach (var publicRequestTargetIdFiltersListValue in publicRequest.TargetIdFilters)
                    {
                        context.Writer.Write(publicRequestTargetIdFiltersListValue);
                    }
                    context.Writer.WriteArrayEnd();
                }


                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return(request);
        }
        /// <summary>
        /// Marshaller the request object to the HTTP request.
        /// </summary>  
        /// <param name="publicRequest"></param>
        /// <returns></returns>
        public IRequest Marshall(CreateEndpointConfigRequest publicRequest)
        {
            IRequest request = new DefaultRequest(publicRequest, "Amazon.SageMaker");
            string target = "SageMaker.CreateEndpointConfig";
            request.Headers["X-Amz-Target"] = target;
            request.Headers["Content-Type"] = "application/x-amz-json-1.1";
            request.Headers[Amazon.Util.HeaderKeys.XAmzApiVersion] = "2017-07-24";            
            request.HttpMethod = "POST";

            request.ResourcePath = "/";
            request.MarshallerVersion = 2;
            using (StringWriter stringWriter = new StringWriter(CultureInfo.InvariantCulture))
            {
                JsonWriter writer = new JsonWriter(stringWriter);
                writer.WriteObjectStart();
                var context = new JsonMarshallerContext(request, writer);
                if(publicRequest.IsSetDataCaptureConfig())
                {
                    context.Writer.WritePropertyName("DataCaptureConfig");
                    context.Writer.WriteObjectStart();

                    var marshaller = DataCaptureConfigMarshaller.Instance;
                    marshaller.Marshall(publicRequest.DataCaptureConfig, context);

                    context.Writer.WriteObjectEnd();
                }

                if(publicRequest.IsSetEndpointConfigName())
                {
                    context.Writer.WritePropertyName("EndpointConfigName");
                    context.Writer.Write(publicRequest.EndpointConfigName);
                }

                if(publicRequest.IsSetKmsKeyId())
                {
                    context.Writer.WritePropertyName("KmsKeyId");
                    context.Writer.Write(publicRequest.KmsKeyId);
                }

                if(publicRequest.IsSetProductionVariants())
                {
                    context.Writer.WritePropertyName("ProductionVariants");
                    context.Writer.WriteArrayStart();
                    foreach(var publicRequestProductionVariantsListValue in publicRequest.ProductionVariants)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = ProductionVariantMarshaller.Instance;
                        marshaller.Marshall(publicRequestProductionVariantsListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

                if(publicRequest.IsSetTags())
                {
                    context.Writer.WritePropertyName("Tags");
                    context.Writer.WriteArrayStart();
                    foreach(var publicRequestTagsListValue in publicRequest.Tags)
                    {
                        context.Writer.WriteObjectStart();

                        var marshaller = TagMarshaller.Instance;
                        marshaller.Marshall(publicRequestTagsListValue, context);

                        context.Writer.WriteObjectEnd();
                    }
                    context.Writer.WriteArrayEnd();
                }

        
                writer.WriteObjectEnd();
                string snippet = stringWriter.ToString();
                request.Content = System.Text.Encoding.UTF8.GetBytes(snippet);
            }


            return request;
        }
        public override void WriteJson(JsonWriter writer, INode value, JsonSerializer serializer)
        {
            MemberInfo[] members = value.GetType().GetMembers(BindingFlags.Public | BindingFlags.Instance);

            var jObject = new JObject();

            foreach (MemberInfo member in members)
            {
                Type   memberType;
                string memberName  = member.Name;
                object memberValue = null;

                if (member is FieldInfo fieldInfo)
                {
                    memberType  = fieldInfo.FieldType;
                    memberValue = fieldInfo.GetValue(value);
                }
                else if (member is PropertyInfo propertyInfo)
                {
                    memberType  = propertyInfo.PropertyType;
                    memberValue = propertyInfo.GetValue(value);
                }
                else
                {
                    continue;
                }

                JToken resultToken;

                if (memberName == nameof(INode.Range) && memberType == typeof(int[]))
                {
                    if (!IncludeTextSpans)
                    {
                        continue;
                    }

                    var range    = (int[])memberValue;
                    var textSpan = TextSpan.FromBounds(range[0], range[1]);

                    resultToken = IsLineColumn
                         ? SourceFile.GetLineColumnTextSpan(textSpan).ToString()
                         : textSpan.ToString();
                }
                else if (memberName == nameof(INode.Location) && memberType == typeof(Location))
                {
                    continue;
                }
                else
                {
                    object propValue = memberValue;
                    resultToken = propValue != null?JToken.FromObject(propValue, serializer) : null;
                }

                if (resultToken != null)
                {
                    jObject.Add(member.Name, resultToken);
                }
            }

            jObject.WriteTo(writer);
        }
 public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
 {
     writer.WriteValue((string)value);
 }
Exemple #60
0
 public override void WriteJson( JsonWriter writer, object value, JsonSerializer serializer )
 {
     var rectangle = (Rectangle)value;
     var obj = JObject.FromObject( new { rectangle.X, rectangle.Y, rectangle.Width, rectangle.Height } );
     obj.WriteTo( writer );
 }