private static PSObject ReadObject()

in src/PSRule.Rules.Azure/JsonConverters.cs [160:196]


    private static PSObject ReadObject(JsonReader reader)
    {
        if (reader.TokenType != JsonToken.StartObject)
            throw new PipelineSerializationException(PSRuleResources.ReadJsonFailed);

        reader.Read();
        var result = new PSObject();
        string name = null;

        // Read each token
        while (reader.TokenType != JsonToken.EndObject)
        {
            switch (reader.TokenType)
            {
                case JsonToken.PropertyName:
                    name = reader.Value.ToString();
                    break;

                case JsonToken.StartObject:
                    var value = ReadObject(reader: reader);
                    result.Properties.Add(new PSNoteProperty(name: name, value: value));
                    break;

                case JsonToken.StartArray:
                    var items = ReadArray(reader: reader);
                    result.Properties.Add(new PSNoteProperty(name: name, value: items));

                    break;

                default:
                    result.Properties.Add(new PSNoteProperty(name: name, value: reader.Value));
                    break;
            }
            reader.Read();
        }
        return result;
    }