首页 > 代码库 > json的js和C#操作

json的js和C#操作

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