这样的一串数据,我应该怎么获取name值呢?

桃子_ 发布于 2016/06/29 09:37
阅读 323
收藏 0

新手求救...

我获取到了这样一组数据

var str=[id:65,name:主动公开,value:001,level:1,code:001, id:66,name:依申请公开,value:002,level:1,code:002, id:67,name:不予公开,value:003,level:1,code:003];

我想获取到name的值。(主动公开,依申请公开,不予公开......)

我应该怎么获取呢?在js中写。

加载中
0
0
evang
evang
用for in的方式遍历,然后通过[]获取即可

for(var key in str){  
  alert(str[key]);  

}  

或者  

for(var i=0;i<str.length;i++){
   if(i == "name"){
    alert(str[i]);
   }
}


你试试把

evang
evang
回复 @桃子_ : 你确定那个是数组?
桃子_
桃子_
str.length 这个是不对的。。
0
qycms_cn
qycms_cn
是不是表达错误了?js这类是 字符 键值对像是“对像字面量”,就像其它语言所说的字典 类型变量,键是不能重复的。如果重复了,极就可能是最后一个生效。
0
爱新觉罗玄楠
爱新觉罗玄楠
var str=["id:65","name:主动公开","value:001","level:1","code:001", "id:66","name:依申请公开","value:002","level:1","code:002", "id:67","name:不予公开","value:003","level:1","code:003"];数组不应该是这样的么?
爱新觉罗玄楠
爱新觉罗玄楠
你判断他是不是数组,是数组就直接循环出来就行了。
桃子_
桃子_
是...那我获取到的怎么表达...
0
点点与麦兜
点点与麦兜
var str="[id:65,name:主动公开,value:001,level:1,code:001, id:66,name:依申请公开,value:002,level:1,code:002, id:67,name:不予公开,value:003,level:1,code:003]";
    	
    	
    	str = str.substring(1,str.length-1);
    	
    	var arr = str.split(",");
    	
    	for(var i=0;i<arr.length;i++){
    		var str = arr[i].split(":");
    		if(str[0]=="name"){
    			console.log(str[1]);
    		}
    	}



返回顶部
顶部