什么是修剪JSON数据的最佳方式?

3

这是我目前正在做的去除所有值的方法。它很丑陋,而且太过重复。

var strHTML = '';
$.getJSON('info.php',
    function(data) {
        $.each(data, function(i, item) {
            strHTML += $.trim(item.fname) +
                       $.trim(item.lname) +
                       $.trim(item.address) +
                       $.trim(item.phone) +
                       ...(about 10 more of these);
        });
    });

应该有更好的方法来做这件事。


没有 $(item).each(function(j){ strHTML+= $.trim(this[j])} 吗? - mplungjan
mplungjan不起作用。我需要灵活地将我的HTML串联起来,但由于混乱,我将其省略了。 - nolabel
3个回答

1

我建议你在PHP端修剪数据,因为它是由你的PHP脚本生成的1

基本上:确保你的 info.php 脚本生成正确的数据。


在PHP中,你可以使用 trim() 函数。

如果你的数据存储在一个数组中,你可以使用 array_map() 函数将该函数应用于该数组的所有项目:

$data = array_map('trim', $data);


因此,我将在这个问题中添加PHP标签


嗨,马丁,好建议,但我现在无法触及服务器端,这迫使我在客户端工作。如果数据库管理员一开始就修剪数据,那就更好了! - nolabel

1
一个与hasOwnProperty相关的for...in示例:
var obj = {
    foo: ' bar',
    blahblah: ' ahahaha   '
};

var arr = [];
for (key in obj) {
    if (obj.hasOwnProperty(key)) {
        arr.push($.trim(obj[key]));
    }
}
alert(arr.join(','));

非常接近。我如何保留对象名称,例如arr.foo或arr.blahblah? - nolabel

0
如果您想要修剪项目的所有属性,可以使用 for (props in item) {} 循环来遍历它们。由于您可以在所有 JavaScript 对象上使用此功能,因此可以创建一个函数,在对象的所有属性上进行修剪。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接