php中echo json_encode输出的格式为什么有的带[],有的不带?
如题,有的时候输出的是[{"id":"1","name":"zhangsan","age":"23"}]这种格式的,有的时候输出的是{"id":"1","name":"z...
如题,有的时候输出的是[{"id":"1","name":"zhangsan","age":"23"}]这种格式的,有的时候输出的是{"id":"1","name":"zhangsan","age":"23"}这种格式的。前端这里有一个判断
function(ret,err){
if(ret){
for (var i = 0,len = ret.length; i < len; i++) {
//循环
}
}
}
如果输出的是[{"id":"1","name":"zhangsan","age":"23"}]这种格式的,就能正常进行循环,反之就不能进行循环。请问这是为什么,不能循环好像是ret.length这个获取不到,怎么样才能使echo json_encode出来的数据带上[] 展开
function(ret,err){
if(ret){
for (var i = 0,len = ret.length; i < len; i++) {
//循环
}
}
}
如果输出的是[{"id":"1","name":"zhangsan","age":"23"}]这种格式的,就能正常进行循环,反之就不能进行循环。请问这是为什么,不能循环好像是ret.length这个获取不到,怎么样才能使echo json_encode出来的数据带上[] 展开
2个回答
展开全部
带[]的是数组,表明有多条数据;不带[]的则是单条数据。
这样的话,前端只需要判断是否数组再来处理就行了:
function(ret,err){
if(ret){
if(Array.isArray(ret)){
for (var i = 0; i < ret.length; i++) {
//循环输出
//ret[i].id
//ret[i].name
//ret[i].age
}
}else{
//直接输出
//ret.id
//ret.name
//ret.age
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询