2013-12-10 2 views
0

Я хотел бы отобразить содержимое JSON, поступающего из сервлета, в браузер внутри простой таблицы, состоящей из двух столбцов: ключ и значение. В чистом HTML я бы использовал тег списка определений, но мне нужно загружать все динамически, и я не хочу читать JSON, разбирать его и вручную создавать html-код. Другой способ сделать это - иметь таблицу с первым столбцом заголовков, заполненную ключами свойств, и вторым столбцом данных, заполненным значениями свойств.Свойства объекта отображения jQuery

Но я хотел бы сохранить код чистым, поэтому мне было интересно, есть ли какой-нибудь виджет или что-то подобное, чтобы сделать это по-другому.

Лучшим должен быть способ использования плагина datatables.

P.S. Я пытаюсь привести пример. Начиная с этого

{ 
    "a": "A", 
    "b": "B", 
    "c": 6 
} 

Я хочу, чтобы достичь этого

a A 
b B 
c 6 

Может печатать его в виде таблицы и показывать по-разному первый столбец, то есть на самом деле заголовок.

+1

Если вы «Не собираюсь разбирать JSON и создавать разметку, как, на самом деле, вы собираетесь это сделать, я умираю, чтобы знать, так как это облегчило бы всю нашу жизнь ype «print», и строка отображается в таблице так, как мы хотим? – adeneo

ответ

1

Вы хотите петлю for...in. Он будет перебирать имена свойств объекта, а затем вы можете использовать обозначение имени и скобки для получения значения.

var obj = { 
    "a":"A", 
    "b":"B", 
    "c":6 
} 

for (var prop in obj) { 
    console.log(prop+" "+obj[prop]); 
} 

Для вывода HTML, просто изменить тело цикла for...in к чему-то вроде document.write("<tr><td>"+prop+"</td><td>"+obj[prop]+"</td></tr>") (или редактировать innerHTML на элементе)

+0

Я написал, что не хочу делать это вручную. Я бы хотел использовать виджет, такой как datatables. – user2714602

+0

Виджет jquery ui просто собирается перебирать JSON в любом случае ... и честно получить целую отдельную часть кода (и jQuery) не нужно для вашей задачи. Если вы чертовски настроены на использование плагина, попробуйте http://plugins.jquery.com/ (хотя для получения нужного вам результата вам, скорее всего, придется его модифицировать, что является еще одной возможностью червей). – Esaevian

+1

Но я использую jQuery для многих других вещей! Вот почему я упомянул об этом. ;) – user2714602

2

Try:

var a = { 
    "a": "A", 
    "b": "B", 
    "c": 6 
} 
$.each(a,function(k,v){ 
    alert("key:"+k+" value:"+v); 
}); 

DEMO here.

+0

Возможно, мне было не ясно, когда я писал, я не хочу перебирать объект, прочитанный из json, и писать html-теги из javascript. Я хотел бы использовать виджет jqueryui. – user2714602

Смежные вопросы