Example #1
0
        public void JsonWriter_WithArray_ShouldCreateCorrectJson()
        {
            var writer = new Core.Services.JsonWriter();

            writer.AddItemToArray("items", new Core.Models.JsonValue {
                Name = "name", Value = "\"Item1\""
            });
            writer.AddItemToArray("items", new Core.Models.JsonValue {
                Name = "name", Value = "\"Item2\""
            });
            var json = writer.ToJson();
            var root = JsonDocument.Parse(json).RootElement;

            Assert.Equal(2, root.GetProperty("items").GetArrayLength());
            Assert.Equal("Item1", root.GetProperty("items").EnumerateArray().ToList().First().GetProperty("name").GetString());
            Assert.Equal("Item2", root.GetProperty("items").EnumerateArray().ToList()[1].GetProperty("name").GetString());
        }
Example #2
0
        void GetArrayProerties(StructureMapping mapping, JsonWriter jsonWriter, Field fromField, JsonProperty element)
        {
            var temp = new StructureMapping
            {
                Mappings = mapping.Mappings.Where(m => m.FromField.StartsWithIgnoreCase(element.Name)).ToList()
            };

            foreach (var item in element.Value.EnumerateArray())
            {
                var tempJsonWriter = new JsonWriter();
                var doc            = JsonDocument.Parse(item.GetRawText());
                ExtractValue(fromField.Structure, GoOneLevelDeeper(temp), doc, tempJsonWriter, fromField);
                var itemWithoutName = tempJsonWriter.GetRoot().SubItems[0];
                itemWithoutName.Name = "";
                jsonWriter.AddItemToArray(temp.Mappings.First().ToField.Split('.')[0], itemWithoutName);
            }
        }