WebRequest output object - confused

I’ve spent a lot of time today trying to work out the best output type for my requirement. I’m trying to create an object that I can query in different ways.

The web page is https://azure.microsoft.com/en-gb/documentation/articles/active-directory-aadconnectsync-attributes-synchronized/

It has ten tables with deferring column headers, but that isn’t the problem as I have unified the tables into one heading structure. The problem is the best method to cast the output.

  • The tables relate to Office365 services which I'd like to query, e.g. output attributes associated with Exchange Online
  • The attributes lend themselves to keys in a hash table but they repeat across services. For example I'd like to query which services need the UPN attribute
  • The remaining elements, user, contact, group, device; I'd also like to query. So output the attributes for Exchange Online and User class.
  • At the moment the best I’ve come up with is nested hash-tables. A hash of attributes, hash of features, hash of services


    Rather than hash tables, I’d construct objects that have properties. That’ll make the data easier to access. And having one property contain a bunch of other objects, with their own properties, is fine. .NET does that all the time.