title: Converting Nested Json into Python object
body: <p>I have nested json as below</p>
  
  <pre><code>{
  "product" : "name",
  "protocol" : "scp",
  "read_logs" : {
      "log_type" : "failure",
      "log_url" : "htttp:url"
      }
  }
  </code></pre>
  
  <p>I am trying to create Python class object with the below code.</p>
  
  <pre><code>import json
  class Config (object):
      """
      Argument: JSON Object from the configuration file.
      """
     def __init__(self, attrs):
          if 'log_type' in attrs:
              self.log_type = attrs['log_type']
              self.log_url = attrs['log_url']
          else:
             self.product = attrs["product"]
             self.protocol = attrs["protocol"]
     def __str__(self):
         return "%s;%s" %(self.product, self.log_type)
  
     def get_product(self):
          return self.product
  
     def get_logurl(self):
         return self.log_url
  
  class ConfigLoader (object):
      '''
          Create a confiuration loaded which can read JSON config files
      '''
      def load_config (self, attrs):
          with open (attrs) as data_file:
              config = json.load(data_file, object_hook=load_json)
          return config
  
  def load_json (json_object):
      return Config (json_object)
  
  loader = ConfigLoader()
  config = loader.load_config('../config/product_config.json')
  
  print config.get_protocol()
  </code></pre>
  
  <p>But, the object_hook is invoking the load_json recursively and the Class Config <strong>init</strong> is being called twice. So the final object that I created does not contain the nested JSON data.</p>
  
  <p>Is there any way to read the entire nested JSON object into a single Python class ?</p>
  
  <p>Thanks</p>