public void Validate(JsonElement json)
        {
            int i = 0;

            foreach (var item in json.EnumerateArray())
            {
                m_context.Push(i++);
                new gltf__extensions__VRM__materialProperties_ITEM__Validator(m_context).Validate(item);
                m_context.Pop();
            }
        }
Exemple #2
0
        public void Validate(JsonElement json)
        {
            int i = 0;

            foreach (var item in json.EnumerateArray())
            {
                m_context.Push(i++);
                new gltf__extensions__EXT_lights_image_based__lights_ITEM__specularImages_ITEM__Validator(m_context).Validate(item);
                m_context.Pop();
            }
        }
Exemple #3
0
        public void Validate(JsonElement json)
        {
            int i = 0;

            foreach (var item in json.EnumerateArray())
            {
                m_context.Push(i++);
                new gltf__extensions__VRM__blendShapeMaster__blendShapeGroups_ITEM__binds_ITEM__Validator(m_context).Validate(item);
                m_context.Pop();
            }
        }
        public void Validate(JsonElement json)
        {
            int i = 0;

            foreach (var item in json.EnumerateArray())
            {
                m_context.Push(i++);
                new gltf__extensions__VRM__secondaryAnimation__boneGroups_ITEM__Validator(m_context).Validate(item);
                m_context.Pop();
            }
        }
        public void Validate(JsonElement json)
        {
            int i = 0;

            foreach (var item in json.EnumerateArray())
            {
                m_context.Push(i++);
                new gltf__textures_ITEM__Validator(m_context).Validate(item);
                m_context.Pop();
            }
        }
Exemple #6
0
        public static List <object?> ReadList(JsonElement element)
        {
            var list = new List <object?>();

            foreach (var item in element.EnumerateArray())
            {
                list.Add(ReadValue(element));
            }

            return(list);
        }
Exemple #7
0
        private void PreprocessJArray(JsonElement array, Utf8JsonWriter writer)
        {
            writer.WriteStartArray();

            foreach (var item in array.EnumerateArray())
            {
                PreprocessJsonElement(item, writer);
            }

            writer.WriteEndArray();
        }
Exemple #8
0
        private static IOpenApiAny CreateOpenApiArray(JsonElement jsonElement)
        {
            var openApiArray = new OpenApiArray();

            foreach (var item in jsonElement.EnumerateArray())
            {
                openApiArray.Add(CreateFromJsonElement(item));
            }

            return(openApiArray);
        }
        public static IList <object?> ReadList(JsonElement jsonElement)
        {
            IList <object?> list = new List <object?>();

            foreach (var item in jsonElement.EnumerateArray())
            {
                list.Add(ReadValue(item));
            }

            return(list.Count == 0 ? null : list);
        }
        public void Validate(JsonElement json)
        {
            int i = 0;

            foreach (var item in json.EnumerateArray())
            {
                m_context.Push(i++);

                m_context.Pop();
            }
        }
        public List <object> Parse(JsonElement payload)
        {
            var jsonlocationlist = payload.EnumerateArray().FirstOrDefault().GetProperty("SystemInfo");

            var list = JsonSerializer.Deserialize <IEnumerable <SystemInfo> >(jsonlocationlist.GetRawText()).ToList();

            var sysinfo = list.First();

            sysinfo.Version = JsonSerializer.Deserialize <IEnumerable <Dictionary <string, string> > >(sysinfo.SWversions.GetRawText()).SelectMany(d => d).ToList();

            return(list.ToList <object>());
        }
Exemple #12
0
 private static int SumNumbers(JsonElement element)
 {
     // Recursively sums numbers in a Json subtree
     if (element.ValueKind == JsonValueKind.Number)
     {
         System.Console.WriteLine("Parse number-leaf, probably shouldn't happen");
         return(element.GetInt32());
     }
     else if (element.ValueKind == JsonValueKind.Array)
     {
         int sum = 0;
         foreach (JsonElement child in element.EnumerateArray())
         {
             if (child.ValueKind == JsonValueKind.Object || child.ValueKind == JsonValueKind.Array)
             {
                 sum += SumNumbers(child);
             }
             else if (child.ValueKind == JsonValueKind.Number)
             {
                 sum += child.GetInt32();
             }
         }
         return(sum);
     }
     else if (element.ValueKind == JsonValueKind.Object)
     {
         int sum = 0;
         foreach (JsonProperty property in element.EnumerateObject())
         {
             JsonElement child = property.Value;
             if (child.ValueKind == JsonValueKind.String)
             {
                 if (child.GetString() == "red")
                 {
                     return(0);   // Ignore object and children
                 }
             }
             else if (child.ValueKind == JsonValueKind.Object || child.ValueKind == JsonValueKind.Array)
             {
                 // Subtree: recurse
                 sum += SumNumbers(child);
             }
             else if (child.ValueKind == JsonValueKind.Number)
             {
                 sum += child.GetInt32();
             }
         }
         return(sum);
     }
     // No subtree or number found:
     System.Console.WriteLine("Called on a non-number leaf");
     return(0);
 }
Exemple #13
0
        private string ParseJsonPropertyNames(JsonElement root)
        {
            var result       = new StringBuilder();
            var firstElement = root.EnumerateArray().First();

            foreach (var property in firstElement.EnumerateObject())
            {
                result.Append($"{property.Name}, ");
            }

            return(result.ToString().TrimEnd(',', ' '));
        }
 public static IEnumerable <object> Intersect(this JsonElement self, JsonElement target)
 {
     if (self.ValueKind == JsonValueKind.Array)
     {
         self.EnumerateArray().Intersect(target.EnumerateArray(), new JsonElementEqualityComparer());
     }
     else if (self.ValueKind == JsonValueKind.Object)
     {
         self.EnumerateObject().Intersect(target.EnumerateObject(), new JsonPropertyEqualityComparer());
     }
     return(null);
 }
Exemple #15
0
    private static JsonElement GetFirstElement(JsonElement root)
    {
        var firstElement = root;

        if (root.ValueKind == JsonValueKind.Array && root.GetArrayLength() > 0)
        {
            var enumerated = root.EnumerateArray();
            firstElement = enumerated.FirstOrDefault();
        }

        return(firstElement);
    }
        private static string[] ReadStringArray(JsonElement value)
        {
            var values = new string[value.GetArrayLength()];
            var i      = 0;

            foreach (var item in value.EnumerateArray())
            {
                values[i++] = item.GetString() !;
            }

            return(values);
        }
Exemple #17
0
 private static object Unwrap(JsonElement je)
 {
     return(je.ValueKind switch
     {
         JsonValueKind.String => je.ToString(),
         JsonValueKind.Number => je.TryGetInt64(out var l) ? l : je.GetDouble(),
         JsonValueKind.True => true,
         JsonValueKind.False => false,
         JsonValueKind.Array => je.EnumerateArray().Select(Unwrap).ToList(),
         JsonValueKind.Object => je.EnumerateObject().ToDictionary(x => x.Name, x => Unwrap(x.Value)),
         _ => null
     });
Exemple #18
0
        private List <IPropertyStatus> ParseProperties(JsonElement parameters)
        {
            var list = new List <IPropertyStatus>();

            foreach (var element in parameters.EnumerateArray())
            {
                var obj = element.EnumerateObject().First();
                list.Add(new PropertyStatus(obj.Name, obj.Value.ToString()));
            }

            return(list);
        }
Exemple #19
0
        private static object?ParseValue(JsonElement element)
        {
            switch (element.ValueKind)
            {
            case JsonValueKind.Object:
                var dict = new Dictionary <string, object?>();

                foreach (JsonProperty property in element.EnumerateObject())
                {
                    dict[property.Name] = ParseValue(property.Value);
                }

                return(dict);

            case JsonValueKind.Array:
                var array = new object?[element.GetArrayLength()];
                var i     = 0;

                foreach (JsonElement item in element.EnumerateArray())
                {
                    array[i++] = ParseValue(item);
                }

                return(array);


            case JsonValueKind.String:
                return(element.GetString());

            case JsonValueKind.Number:
                if (element.TryGetInt32(out var intValue))
                {
                    return(intValue);
                }

                if (element.TryGetDouble(out var floatValue))
                {
                    return(floatValue);
                }

                return(null);

            case JsonValueKind.True:
                return(true);

            case JsonValueKind.False:
                return(false);

            default:
                return(null);
            }
        }
Exemple #20
0
        private static void Write(JsonElement je, Utf8JsonWriter writer)
        {
            switch (je.ValueKind)
            {
            case JsonValueKind.Object:
                writer.WriteStartObject();

                // !!! This is where we can order the properties.
                foreach (JsonProperty x in je.EnumerateObject().OrderBy(prop => prop.Name))
                {
                    writer.WritePropertyName(x.Name);
                    Write(x.Value, writer);
                }

                writer.WriteEndObject();
                break;

            // When normalizing... Original msapp arrays can be in any order...
            case JsonValueKind.Array:
                writer.WriteStartArray();
                foreach (JsonElement x in je.EnumerateArray())
                {
                    Write(x, writer);
                }
                writer.WriteEndArray();
                break;

            case JsonValueKind.Number:
                writer.WriteNumberValue(je.GetDouble());
                break;

            case JsonValueKind.String:
                // Escape the string
                writer.WriteStringValue(je.GetString());
                break;

            case JsonValueKind.Null:
                writer.WriteNullValue();
                break;

            case JsonValueKind.True:
                writer.WriteBooleanValue(true);
                break;

            case JsonValueKind.False:
                writer.WriteBooleanValue(false);
                break;

            default:
                throw new NotImplementedException($"Kind: {je.ValueKind}");
            }
        }
Exemple #21
0
        private static INamesVariable ParseName(JsonElement json)
        {
            var names = new List <IName>();

            foreach (var nameElement in json.EnumerateArray())
            {
                var hasGivenName  = nameElement.TryGetProperty("given", out var givenName);
                var hasFamilyName = nameElement.TryGetProperty("family", out var familyName);

                if (hasGivenName || hasFamilyName)
                {
                    var    family               = string.Empty;
                    var    given                = string.Empty;
                    string?suffix               = null;
                    string?droppingParticles    = null;
                    string?nonDroppingParticles = null;
                    if (hasFamilyName)
                    {
                        family = familyName.GetString();
                    }
                    if (hasGivenName)
                    {
                        given = givenName.GetString();
                    }
                    if (nameElement.TryGetProperty("suffix", out var suffixElement))
                    {
                        suffix = suffixElement.GetString();
                    }
                    if (nameElement.TryGetProperty("dropping-particle", out var droppingParticlesElement))
                    {
                        droppingParticles = droppingParticlesElement.GetString();
                    }
                    if (nameElement.TryGetProperty("non-dropping-particle", out var nonDropingParticlesElement))
                    {
                        nonDroppingParticles = nonDropingParticlesElement.GetString();
                    }
                    var name = new PersonalName(family, given, suffix, false, droppingParticles, nonDroppingParticles);

                    names.Add(name);
                }
                else if (nameElement.TryGetProperty("literal", out var literalName))
                {
                    names.Add(new InstitutionalName(literalName.GetString()));
                }
                else
                {
                    throw new Exception();
                }
            }

            return(new NamesVariable(names));
        }
Exemple #22
0
        Friendship HandleLookupResponse(string responseJson)
        {
            JsonElement lookupJson = JsonDocument.Parse(responseJson).RootElement;
            var         friendship = new Friendship
            {
                Relationships =
                    (from relationship in lookupJson.EnumerateArray()
                     select new Relationship(relationship))
                    .ToList()
            };

            return(friendship);
        }
    /// <summary>Converts a JSON array to a set.</summary>
    /// <typeparam name="TValue">The type of values in the set.</typeparam>
    /// <param name="json">The array element.</param>
    /// <param name="resultSelector">A function that converts each item in the array to its destination type.</param>
    /// <returns></returns>
    internal static HashSet <TValue> GetSet <TValue>(
        this JsonElement json,
        Func <JsonElement, TValue> resultSelector
        )
    {
#if NET
        var values = new HashSet <TValue>(json.GetArrayLength());
#else
        var values = new HashSet <TValue>();
#endif
        values.UnionWith(json.EnumerateArray().Select(resultSelector));
        return(values);
    }
Exemple #24
0
        public List <object> Parse(JsonElement payload)
        {
            var devicelist = new List <DevicePropertiesStatus>();

            var jsondevicelist = payload.EnumerateArray().FirstOrDefault().GetProperty("Devices");

            foreach (var device in jsondevicelist.EnumerateArray())
            {
                devicelist.Add(ParseDevice(device));
            }

            return(devicelist.ToList <object>());
        }
Exemple #25
0
        public List <object> Parse(JsonElement payload)
        {
            var devicesid = payload.EnumerateArray().First().GetProperty("Devices").EnumerateArray();

            var idlist = new List <string>();

            foreach (var item in devicesid)
            {
                idlist.Add(item.GetProperty("Uuid").GetString());
            }

            return(idlist.ToList <object>());
        }
        public List<T> ConvertFromSPEntities<T>(object source, IEnumerable<ListItemPropertyCreationInfo> properties) where T: new()
        {
            var sourceJson = source as string;
            JsonDocument jsonDocument = JsonDocument.Parse(sourceJson);
            JsonElement jsonResults = jsonDocument.RootElement.GetProperty("d").GetProperty("results");
            var jsonItems = jsonResults.EnumerateArray();

            var result = jsonItems
                .Select(i => CreateObject<T>(i, properties))
                .ToList();

            return result;
        }
        private void AssertArraysEqual(JsonElement result, params string[] expected)
        {
            Assert.Equal(JsonValueKind.Array, result.ValueKind);

            string[] resultArray = result.EnumerateArray().Select(x => x.GetString()).ToArray();

            Assert.Equal(expected.Length, resultArray.Length);

            for (int i = 0; i < expected.Length; i++)
            {
                Assert.Equal(expected[i], resultArray[i]);
            }
        }
    public static Inventory GetInventory(
        this JsonElement json,
        MissingMemberBehavior missingMemberBehavior
        )
    {
        List <ItemSlot?> slots = new(json.GetArrayLength());

        slots.AddRange(
            json.EnumerateArray().Select(entry => entry.GetItemSlot(missingMemberBehavior))
            );

        return(new Inventory(slots));
    }
Exemple #29
0
 public override void Import(JsonElement property, Action <string> logger)
 {
     Values.Clear();
     foreach (var elem in property.EnumerateArray())
     {
         var item = _import(elem);
         if (item.Failed)
         {
             continue;
         }
         Values.Add(item.Value);
     }
 }
Exemple #30
-1
        private static TouchPoint[] ReadTouchPointArray(JsonElement jsonElement)
        {
            var touchPoints = new TouchPoint[jsonElement.GetArrayLength()];
            var i           = 0;

            foreach (var item in jsonElement.EnumerateArray())
            {
                touchPoints[i++] = ReadTouchPoint(item);
            }

            return(touchPoints);
        }