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;
}