Каков наилучший способ обрезать данные JSON? - PullRequest
2 голосов
/ 24 марта 2011

Это то, что я сейчас делаю, чтобы обрезать все мои ценности.Это уродливо и слишком повторяющееся.

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);
        });
    });

Должен быть лучший способ сделать это.

Ответы [ 3 ]

1 голос
/ 24 марта 2011

A for...in пример, с hasOwnProperty:

var obj = {
    foo: ' bar',
    blahblah: ' ahahaha   '
};

var arr = [];
for (key in obj) {
    if (obj.hasOwnProperty(key)) {
        arr.push($.trim(obj[key]));
    }
}
alert(arr.join(','));
1 голос
/ 24 марта 2011

Я бы сказал, что вы должны обрезать данные на стороне PHP, поскольку именно ваш PHP-скрипт генерирует их 1 .

В основном: убедитесь, что ваш info.php скрипт генерирует правильные данные.


В PHP вы можете использовать функцию trim().

И если ваши данные хранятся в массиве, вы можете применить эту функцию ко всем элементам этого массива, используя функцию array_map():

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


Как следствие, я добавлю тег PHP к этому вопросу

0 голосов
/ 24 марта 2011

Если вы хотите, чтобы все свойства элемента были обрезаны, вы можете использовать for (props in item) {} -loop, чтобы пройти через все из них. Поскольку вы можете использовать это на всех объектах javascript, вы можете создать функцию, которая будет обрезать все свойства объекта.

...