C#端的WebService接口接收json格式数据,处理后以json格式返回result
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; using Newtonsoft.Json.Linq; namespace Web.WebService { /// <summary> /// PhoneGPS 的摘要说明 /// </summary> [WebService(Namespace = "NingboRoad")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] public class PhoneGPS : System.Web.Services.WebService { #region RealtTimeLocation [WebMethod(EnableSession=true)] public string RealtTimeLocation(string para) { JObject jsonpara = JObject.Parse(para); JObject jsonobject = new JObject(); jsonobject.Add(new JProperty("Result", "0")); jsonobject.Add(new JProperty("ErrorInfo", "")); jsonobject.Add(new JProperty("LocationList", "")); string SessionID = jsonpara["SessionID"].ToString(); /* if (SessionID != Session.SessionID) { jsonobject["Result"] = "0"; jsonobject["ErrorInfo"] = "会话缺失,请重新登录!"; } else */ { var lstUser = BLL.GPS_User.GetUserList(BLL.SessionHelper.CurrentAccount.AccountID); JArray array = new JArray(); foreach (var user in lstUser) { var gps=BLL.GPS_User.GetMonitor(user.AccountID); JObject item = new JObject(); item.Add(new JProperty("Latitude", "")); item.Add(new JProperty("Longitude","")); item.Add(new JProperty("Address", "")); item.Add(new JProperty("Describe", "")); if (gps != null) { item["Latitude"] = gps.Lat.ToString(); item["Longitude"] = gps.Lng.ToString(); item["Address"] = gps.Address; item["Describe"] = gps.Memo; } array.Add(item); } jsonobject["LocationList"] = array; jsonobject["Result"] = "1"; } return jsonobject.ToString(); } #endregion }
前段javascript接收json并处理
var obj = JSON.parse(str); //由JSON字符串转换为JSON对象
obj.result
obj.ErrorInfo就是对应的属性值