title: Adding extra property to root property of JSON object from .NET Serialized string in asmx web method
body: <p>Suppose we're serializing a .NET object of class "Thing".  Our root property of our JSON object is "d" when a proxy receives the JSON response.  Is there a way to add a property to the root property, or a sibling property to the JSON objects from ASP.NET in an asmx web method?  Right now, I have a hack.. I am putting the value as an extra parameter in each 'Thing' object in my JSON object.</p>
  
  <p><strong>Thing class and web service ASP.NET code:</strong></p>
  
  <pre><code>namespace Web.Controls.ThingList
  {
      [WebService(Namespace = "http://tempuri.org/")]
      [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
      [System.ComponentModel.ToolboxItem(false)]
      // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
      [System.Web.Script.Services.ScriptService]
      public class ThingListService : System.Web.Services.WebService
      {
          [Serializable]
          public class Thing
          {
              public string id;
              public string name;
          }
  
          [WebMethod]
          [ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false, XmlSerializeString = false)]
          public List&lt;Thing&gt; GetThingList(string start, string limit)  //
          {
              return GetList("Thing", start, limit);
          }
  
      }
  }
  </code></pre>
  
  <p><strong>JSON object:</strong></p>
  
  <pre><code>{
      "d": [{
          "__type": "Web.Controls.ThingList.ThingListService+Thing",
          "id": "1",
          "name": "ONE"
      }, {
          "__type": "Web.Controls.ThingList.ThingListService+Thing",
          "id": "2",
          "name": "TWO"
      }]
  }
  </code></pre>