为了账号安全,请及时绑定邮箱和手机立即绑定

js处理json的问题

js处理json的问题

呼如林 2018-12-07 11:28:23
有这样一组数据{"a":"0","b":"OK","c":[{"Account":"81614031","Time":"2012-11-26"},{"Account":"81614032","Time":"2012-11-26"},{"Account":"81614033","Time":"2012-11-26"},{"Account":"81614034","Time":"2012-11-26"},{"Account":"816140315","Time":"2012-11-26"},{"Account":"816140311","Time":"2012-11-26"},{"Account":"816140312","Time":"2012-11-26"},{"Account":"816140311","Time":"2012-11-26"}]}我想将Account对应的号码提出来显示列表中,相同的只显示一次。 如:816140311,816140312,816140313,816140314,816140315这样显示。 请问用js怎么写呢?
查看完整描述

6 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

var json_data={....};//你上面的数据
var data={};
for(var i=0; i<json_data.c.length; i++){
  data[json_data.c[i].Account]="";
}
var result="";
for(var p in data){
 result+=p+",";
}
alert(result);
查看完整回答
反对 回复 2018-12-24
?
炎炎设计

TA贡献1808条经验 获得超4个赞

Array.prototype.noRepeated=function(){   

var newArray=[], flags={};

 for (var i=0;i<this.length;i++){     

    var item= this[i];

    if (!flags[item]) {   
    
    newArray.push(item);   
    
    flags[item] = true;   
    
    }   
}   

 return newArray;   

} 
var a={"a":"0","b":"OK","c":[{"Account":"81614031","Time":"2012-11-26"},{"Account":"81614031","Time":"2012-11-26"}]}

var cItems=a.c;
var sourceArray= [];
$(cItems).each(function(index){
    
    sourceArray.push(cItems[index].Account)
    
});

sourceArray=sourceArray.noRepeated();
alert(sourceArray.join(",")); 
查看完整回答
反对 回复 2018-12-24
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

 1     var str = '{"a":"0","b":"OK","c":[{"Account":"816140311","Time":"2012-11-26"},{"Account":"81614032","Time":"2012-11-26"},{"Account":"81614033","Time":"2012-11-26"},{"Account":"81614034","Time":"2012-11-26"},{"Account":"816140315","Time":"2012-11-26"},{"Account":"816140311","Time":"2012-11-26"},{"Account":"816140312","Time":"2012-11-26"},{"Account":"816140311","Time":"2012-11-26"}]}';
 2     var arr = eval('(' + str + ')').c;
 3     var obj = {};
 4     for (var i = 0, len = arr.length; i < len; i++) {
 5         if (obj[arr[i].Account] == undefined) {
 6             obj[arr[i].Account] = 1;
 7         }
 8     }
 9     var array = new Array();
10     for (var i in obj) {
11         array[array.length] = i;
12     }    
13     var result = array.join(',');
14     alert(result);
查看完整回答
反对 回复 2018-12-24
?
万千封印

TA贡献1891条经验 获得超3个赞

相同所有的

Account取出来放一个数组中,去掉书中重复的数
查看完整回答
反对 回复 2018-12-24
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

能看到结果了
for
(var i = 0, len = arr.length; i < len; i++) { if (obj[arr[i].Account] == undefined) { obj[arr[i].Account] = 1; } }
请问这里为什么要这么写呢,有什么用处?
查看完整回答
反对 回复 2018-12-24
?
GCT1015

TA贡献1827条经验 获得超4个赞

@jq2727: 

你可以去了解下JavaScript的Array。把值当作索引,存在则舍弃。

查看完整回答
反对 回复 2018-12-24
  • 6 回答
  • 0 关注
  • 528 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信