js解析json数据

在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式:
1. 一种为使用eval()函数。
2. 使用Function对象来进行返回解析

一、使用eval()函数

系统后台代码

        /// <summary>
        /// 获取登录信息
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public ActionResult GetUserinfo()
        {
            var userinfo = new
            {
                userid = Session[UserID.ToString()],               
                UserName = Session[UserName.ToString()]
            };

            return Content(userinfo.ToJson());
        }

eval解析

function inituserinfo() {
    $.ajax({
        type: "post",
        url: "/***/***/GetUserinfo", //你后台请求URL地址
        success: function (data) {
            var ajaxobj = eval("(" + data + ")");
            var uid = ajaxobj.userid;//用户ID
            var uname = ajaxobj.UserName;//用户名称
        }
    });
}

 JS解析Json 数组

二、解析json数组即对JSONArray的遍历

2.1、对于标准的json数组如:

var data=[{"flag":1,"macId":"2","mbId":0,"userName":"XXX"},{"flag":1,"macId":"1","mbId":1,"userName":"YYY"}];

进行遍历的时候,可以直接通过for循环遍历这个数组,有两种方法

var objJson = eval(data);
方法1.  
for (var i = 0; i < objJson.length; i++) {
  //objJson[i]表示获得第i个json对象即JSONObject
  //objJson[i]通过.字段名称即可获得指定字段的值
  objJson[i].userName;
}
方法2. 
for(var i in objJson){
  //表示遍历数组,而i表示的是数组的下标值,
  //objJson[i]表示获得第i个json对象即JSONObject
  //objJson[i]通过.字段名称即可获得指定字段的值
  objJson[i].userName;
}

2.2、对于不标准的json数组如:

var result={"datas":[{"flag":1,"macId":"2","mbId":0,"userName":"XXX"},{"flag":1,"macId":"1","mbId":1,"userName":"YYY"}]};

进行遍历之前得先解析出标准的json数组格式即[{},{}]

var data= result.datas;

方法1:
     for (var i = 0; i < data.length; i++) {
        //data[i]表示获得第i个json对象即JSONObject
        //data[i]通过.字段名称即可获得指定字段的值
        data[i].userName;
        }
方法2:
     for(var i in data){
        //表示遍历数组,而i表示的是数组的下标值,
        //data[i]表示获得第i个json对象即JSONObject
        //data[i]通过.字段名称即可获得指定字段的值
        data[i].userName;
      }

 

转载于:https://www.cnblogs.com/leebokeyuan/p/9227765.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值