Я пытаюсь пересечь объект JSON с рекурсивным jQuery .. обычно это сработало, но не на следующем JSON.jQuery traverse json recursive
Я хочу, чтобы пройти этот JSON, здесь я загрузил изображение:
Для моих объектов JSON, я имел эту Jquery функцию:
var construct_id = "#ecommerce_form_";
// function to traverse json objects given back from Serializer class
function process(callback, id) {
var key;
for (key in callback) {
// Handle the arrays
if ('length' in callback[key]) {
// Handle the end - we found a string
if (typeof callback[key][0] == "string") {
var field_id = construct_id + id + key;
var err_msg = callback[key][0];
$(field_id).tooltip('destroy');
$(field_id).tooltip({'title': err_msg});
$(field_id).closest('div[class="form-group"]').addClass('has-error');
console.log(field_id, ":", err_msg);
}
// Else we found something else, so recurse.
else {
var i = 0;
while (i < callback[key].length) {
process(callback[key][i], key + "_" + i + "_");
i++;
}
}
}
// Handle the objects by recursing.
else {
process(callback[key], key + "_");
}
}
}
Но что функции происходит сбой при попытке для создания идентификатора контакта> адресов с сообщением об ошибке:
"Uncaught TypeError: Cannot use 'in' operator to search for 'length' in This value should not be blank."
Надеюсь, вы, ребята, можете мне помочь улучшить функцию jQuery, она не на 100% успешна, как вы можете видеть на этом примере json.
С уважением
Вместо публикации изображения, строковое представление JSON – hindmost
это не функция jQuery. Это просто рекурсивная функция, написанная на простом JavaScript, которая использует некоторые селектора jQuery. – Mouser
Да Mouser, ничего общего с моей проблемой: x. Я знаю разницу, но когда я написал в качестве заголовка javascript traverse json, кто-то сказал бы: «Нет, это не только функция javascript, но и jQuery». Думайте, что это второстепенный приоритет, ответ Эяля действительно помог мне. –