title: Return data in Json format with object name
body: <p>Wrote a simple function for Web API 2 which returns the list of countries. It returns the valid Json format but without the array/object name. I have a bit of difficulty understand how this is achieved?</p>
  
  <p>Here is my C# code:</p>
  
  <pre><code>[Route("Constants/CountryList")]
  [HttpGet]
  public IHttpActionResult GetCountryList()
  {
      IEnumerable&lt;ISimpleListEntity&gt; list = new CountryStore().SimpleSortedListByName();
      if (list == null || !list.Any())
      {
          return NotFound();
      }
  
      return Ok(list);
  }
  </code></pre>
  
  <p><strong>ISimpleListEntity</strong> interface code is here.</p>
  
  <pre><code>public interface ISimpleListEntity
  {
      int Id { get; set; }
      string Name { get; set; }
  }
  </code></pre>
  
  <p>This service returns the following Json output <em>(without the object/array name)</em>:</p>
  
  <pre><code>[  
     {  
        "Id":1,
        "Name":"[Select]"
     },
     {  
        "Id":4,
        "Name":"India"
     },
     {  
        "Id":3,
        "Name":"Singapore"
     },
     {  
        "Id":2,
        "Name":"United Arab Emirates"
     }
  ]
  </code></pre>
  
  <p>But, am struggling to achieve the following Json format <em>(WITH the object/array name called 'CountryList')</em>:</p>
  
  <pre><code>{  
     "CountryList":[  
        {  
           "Id":1,
           "Name":"[Select]"
        },
        {  
           "Id":4,
           "Name":"India"
        },
        {  
           "Id":3,
           "Name":"Singapore"
        },
        {  
           "Id":2,
           "Name":"United Arab Emirates"
        }
     ]
  }
  </code></pre>