in src/PSRule.Rules.Azure/JsonConverters.cs [58:100]
private static void ReadObject(PSObject value, JsonReader reader)
{
if (reader.TokenType != JsonToken.StartObject)
throw new PipelineSerializationException(PSRuleResources.ReadJsonFailed);
reader.Read();
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 child = new PSObject();
ReadObject(value: child, reader: reader);
value.Properties.Add(new PSNoteProperty(name: name, value: child));
break;
case JsonToken.StartArray:
var items = new List<object>();
reader.Read();
while (reader.TokenType != JsonToken.EndArray)
{
items.Add(ReadValue(reader));
reader.Read();
}
value.Properties.Add(new PSNoteProperty(name: name, value: items.ToArray()));
break;
default:
value.Properties.Add(new PSNoteProperty(name: name, value: reader.Value));
break;
}
reader.Read();
}
}