前后如何遍历后台传过来的json
{"Table":[{"Id":1,"BuMenName":"管理层","BuMenHit":1},{"Id":2,"BuMenName":"预订部","BuMenHit...
{"Table":[{"Id":1,"BuMenName":"管理层","BuMenHit":1},{"Id":2,"BuMenName":"预订部","BuMenHit":2},{"Id":3,"BuMenName":"销售部","BuMenHit":3},{"Id":4,"BuMenName":"财务部","BuMenHit":4},{"Id":8,"BuMenName":"test3","BuMenHit":1000},{"Id":10,"BuMenName":"test23","BuMenHit":123},{"Id":11,"BuMenName":"teststest修改","BuMenHit":23}]}
展开
展开全部
这个是JSON字符串和数组的混合形式啊,你就正常的取值就好了啊,比如:
var data = {"Table":[{"Id":1,"BuMenName":"管理层","BuMenHit":1},{"Id":2,"BuMenName":"预订部","BuMenHit":2},{"Id":3,"BuMenName":"销售部","BuMenHit":3},{"Id":4,"BuMenName":"财务部","BuMenHit":4},{"Id":8,"BuMenName":"test3","BuMenHit":1000},{"Id":10,"BuMenName":"test23","BuMenHit":123},{"Id":11,"BuMenName":"teststest修改","BuMenHit":23}]};
//如果想要取得Table中的值,因为Table值是数组,那就在用取数组的方法取,如下
var arr = data.Table;
$.each(arr,function(i,json){
alert(json.Id); //依次弹出ID为1,2,3,4等
});
类似上面的方法可以去到任意你想要的值,希望对你有所帮助!
追问
我用data.Table 显示的undefined
追答
哦,你单独把我的那段拿出来看下!我估计是你后台传过来的时候是字符串而不是JSON对象,需要用JS的eval()方法进行转化下如:eval(data);
展开全部
//UserController.cs
public ActionResult Create()
{
var stream = controllerContext.HttpContext.Request.InputStream;
string json = new StreamReader(stream).ReadToEnd(); //json 字符串在此
}
最好用一些json工具来反序列化成强类型比如JSON.NET,当前上面的写法只讲了原理,其实很搓的。正确的做法是用Binder生成一个强类型的参数:
public ActionResult Create([UserBinder]User user)
{
//已经得到一个强类型的user了
}
然后把上面那些丑陋的代码,扔到binder里去。
public ActionResult Create()
{
var stream = controllerContext.HttpContext.Request.InputStream;
string json = new StreamReader(stream).ReadToEnd(); //json 字符串在此
}
最好用一些json工具来反序列化成强类型比如JSON.NET,当前上面的写法只讲了原理,其实很搓的。正确的做法是用Binder生成一个强类型的参数:
public ActionResult Create([UserBinder]User user)
{
//已经得到一个强类型的user了
}
然后把上面那些丑陋的代码,扔到binder里去。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询