Beispiel #1
0
        public void AttachmentJson()
        {
            var att = new LogEntryAttachment
            {
                Id              = "someid",
                Name            = "somename",
                ContentType     = "sometype",
                ContentEncoding = "someencoding",
                Headers         = new [] { new KeyValuePair <string, object>("somekey", "somevalue") },
                Data            = System.Text.Encoding.UTF8.GetBytes("somedata")
            };

            var mem = new MemoryStream();

            using (var writer = new StreamWriter(mem))
            {
                LogEntryJson.WriteJson(writer, att);
            }
            Assert.Equal(string.Join("", new []
            {
                "{",
                "\"id\":\"someid\",",
                "\"name\":\"somename\",",
                "\"contentType\":\"sometype\",",
                "\"contentEncoding\":\"someencoding\",",
                "\"headers\":[{\"somekey\":\"somevalue\"}],",
                "\"data\":\"c29tZWRhdGE=\"",
                "}",
            }),
                         System.Text.Encoding.UTF8.GetString(mem.ToArray())
                         );
        }
 public static TextWriter WriteJson(TextWriter writer, LogEntryAttachment attachment)
 {
     return(writer
            .WriteJsonStartObject()
            .WriteJsonProperty("id", attachment.Id).WriteJsonComma()
            .WriteJsonProperty("name", attachment.Name).WriteJsonComma()
            .WriteJsonProperty("contentType", attachment.ContentType).WriteJsonComma()
            .WriteJsonProperty("contentEncoding", attachment.ContentEncoding).WriteJsonComma()
            .WriteJsonProperty("headers", attachment.Headers, WriteJson).WriteJsonComma()
            .WriteJsonProperty("data", attachment.Data)
            .WriteJsonEndObject());
 }