Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;“解码组件”;JSON列表中的项目_Javascript_Jquery_Json - Fatal编程技术网

Javascript &引用;“解码组件”;JSON列表中的项目

Javascript &引用;“解码组件”;JSON列表中的项目,javascript,jquery,json,Javascript,Jquery,Json,我想解析JSON列表中的所有项目,并使用函数decode删除HTML格式的空格,%20等等 请参阅下面的代码片段 我的目标: 我想把安迪·彼得斯改成“安迪·彼得斯” 我不想使用关键字名称将每个项目称为“this.product\u model” $(文档).ready(函数(){ $('.btn')。单击(函数(){ $(光线)。每个(函数(索引){ log(“解码前的项:“+index+”:“+$(this.text()+”:“+this.product_model”); this.in

我想解析JSON列表中的所有项目,并使用函数decode删除HTML格式的空格,%20等等

请参阅下面的代码片段

我的目标:

  • 我想把安迪·彼得斯改成“安迪·彼得斯”

  • 我不想使用关键字名称将每个项目称为“this.product\u model

$(文档).ready(函数(){
$('.btn')。单击(函数(){
$(光线)。每个(函数(索引){
log(“解码前的项:“+index+”:“+$(this.text()+”:“+this.product_model”);
this.index=解码字符串(this.item);
log(“解码后的项目:“+index+”:“++$(this.text()+”:“+this.product_model”);
});
});
});
函数解码字符串(a){
如果(a的类型!=“未定义”){
返回组件(a);
}否则{
返回“”;
}
}
变量射线=[{
“产品id”:“1”,
“产品型号”:“Andy%2EPeters”,
}, {
“产品标识”:“2”,
“产品型号”:“Tom%2感谢”,
}, {
“产品id”:“1”,
“产品型号”:“HFJ5G1.5”,
}, ];
//控制台设置
var consoleLine=“

”; 控制台={ 日志:函数(文本){ $(“#控制台日志”).append($(consoleLine.html(text)); } };
.console行{
字体系列:控制台;
保证金:2倍;
}

$(文档).ready(函数(){
$('.btn')。单击(函数(){
var data=decodeURIComponent(JSON.stringify(ray).replace(/(%2E)/ig,“%20”);
ray=JSON.parse(数据);
$(光线)。每个(函数(){
console.log(此.product_模型);
})
});
});
变量射线=[{
“产品id”:“1”,
“产品型号”:“Andy%2彼得斯”
}, {
“产品标识”:“2”,
“产品型号”:“Tom%2感谢”
}, {
“产品id”:“1”,
“产品型号”:“HFJ5G1.5”
} ];
//控制台设置
var consoleLine=“

”; 控制台={ 日志:函数(文本){ $(“#控制台日志”).append($(consoleLine.html(text)); } };
.console行{
字体系列:控制台;
保证金:2倍;
}


…这将产生
这个[0]
这个[1]
…有什么意义?您处于每个
循环中。所以
这个
是一项。为什么不
data=decodeURIComponent(JSON.stringify([您的数据对象])
然后执行
JSON.parse(data)
这将一次性解码所有数据。谢谢Mouser,问题解决了!另外,控制台纯粹是为了在JSFIDLE/CodeSnippet上演示。@platinums-仅供参考,
ray
数组中的额外逗号在IE8及更早版本中出现中断。@wahwah,没有看到这些。感谢您提及,更新了我的解决方案。Mouser还请解释为什么您“将所有%2E替换为%20”@platinums人类可读性-
%2E
是点,
%20
是空白。