Подмножество JSON и Усы

0

У меня есть потенциально ОЧЕНЬ большой json-объект (который я не контролирую), я пытаюсь вывести список записей json (в данном случае это люди) - и я начал использовать Mustache.js, но структура этот конкретный объект JSON заставляет меня приспосабливаться.

Я начал путь разбора сложного объекта (много деталей о каждом человеке) в более простой объект (просто данные людей, которые мне действительно нужны) - кажется, я на самом деле это сделал, но все еще имею проблемы с Усами, и я больше, чем немного обеспокоенный эффективностью.

Итак, на вопрос - учитывая объект JSON, например

var data = {"totalrows":3,"autoinc":4,"rows":{    
"1":[{"name":"agent","value":"Bill Summers"},{"name":"firstname","value":"Mike"{"name":"lastname","value":"Goldberg"},{"name":"companyname","value":"Vandelay Industries"},{"name":"department","value":"Import Export"}],
"2":[{"name":"agent","value":"Mark Jacobs"},{"name":"firstname","value":"John"},{"name":"lastname","value":"Stewart"},{"name":"companyname","value":"Vandelay Industries"},{"name":"department","value":"Sales"},],
"3":[{"name":"agent","value":"Heidi Floss"},{"name":"firstname","value":"Stuart"},{"name":"lastname","value":"Manning"},{"name":"companyname","value":"Vandelay Industries"},{"name":"department","value":"Accounts"}]
}
}

Здесь пример подхода, который я принимал - снова - нужны фактические результаты, и некоторые советы относительно передового опыта с такими вещами

Здесь, где я споткнулся jsFiddle

Как бы вы выводили список, например

  • Майк Голдберг: Импортный экспорт, Vandelay Industries
  • Джон Стюарт: Продажи, Vandelay Industries
  • Стюарт Мэннинг: учетные записи, Vandelay Industries

ТИА

  • 0
    jsfiddle.net/8xS8u/1
  • 0
    Юрий Ну, это, безусловно, работает удовольствие .. сделано и сделано ..
Теги:
mustache
zepto

1 ответ

0

При работе с большим объектом, как это, вы можете рассмотреть пейджинг. Вы, конечно, не хотите перебирать весь ряд строк.

Другими словами, чтобы получить определенный набор строк для отображения, сделайте следующее:

var data = yourData; //your JSON

resultsPerPage = 20;
currentPage = 2; // for example (starts from 1)

start = 1 + (currentPage*resultsPerPage) - resultsPerPage;
end = currentPage * resultsPerPage;

resultsToDisplay = [];
for(i=start; i<=end; i++){
    resultsToDisplay.push(data.rows[i]);
}

Это может быть не полный ответ, но он может быть вам полезен, так как разбиение на страницы при отображении результатов с большого объекта является обязательным.

После этого вы можете вывести данные из полученного набора, например, добавив их в DIV.

resultsToDisplay.each(function(result){
    output = result.get('firstname') + " " + result.get('lastname') + ": " + result.get('department') + ", " + result.get('companyname') + "<br/>"; 
    $('#yourOutputDiv').html().append(output);
});
  • 0
    Спасибо - Определенно что-то я рассмотрю - хотя это не решает мою проблему с шаблоном
  • 0
    @sauldraws это редактирование более полезно для вас? Я пытаюсь, но ваш вопрос довольно широкий;)
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню