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就是对应的属性值