クラス "Thing" の .NET オブジェクトをシリアル化するとします。プロキシが JSON 応答を受信したときの JSON オブジェクトのルート プロパティは「d」です。プロパティをルート プロパティに追加する方法、または asmx Web メソッドで ASP.NET から JSON オブジェクトに兄弟プロパティを追加する方法はありますか? 今、私はハックを持っています.JSONオブジェクトの各「モノ」オブジェクトに追加のパラメーターとして値を入れています。
モノのクラスと Web サービスの ASP.NET コード:
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<Thing> GetThingList(string start, string limit) //
{
return GetList("Thing", start, limit);
}
}
}
JSON オブジェクト:
{
"d": [{
"__type": "Web.Controls.ThingList.ThingListService+Thing",
"id": "1",
"name": "ONE"
}, {
"__type": "Web.Controls.ThingList.ThingListService+Thing",
"id": "2",
"name": "TWO"
}]
}