doublench21
@doublench21

Как верно обработать JSON данные?

Есть JSON данные следующего формата:
{
   0: "1",
   1: "0.39578100 1412014767",
   2: "755097411bb87a6a5894e39d9aac3bc4",
   3: "2",
   4: "0.43935900 1412014767",
   5: "2cab74f361f62e1f0bca2f593072e8db",
  /* ... */
}

Пытаюсь добавить эти данные в html в следующие теги по три элемента:
<tr id="1"><td>  </td><td>  </td><td>  </td></tr>
<tr id="2"><td>  </td><td>  </td><td>  </td></tr>
 <!-- ... -->

Пока есть только вот такое "скудное":
$.getJSON(
            "server.php",
            {
                param1: static_rows
            },
            onAjaxSuccess
        );

        function onAjaxSuccess(data) {
            $.each(data, function(key, val){
                items.push(' ');
                $("#info").html(s);
            });


        }
  • Вопрос задан
  • 2381 просмотр
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
1. Нельзя начинать имя свойства с цифры. В вашем случае требуются вложенные массивы вида

{
	"t1": [
		"1",
		"0.39578100 1412014767",
		"755097411bb87a6a5894e39d9aac3bc4"
	],
	"t2": [
		"2",
		"0.43935900 1412014767",
		"2cab74f361f62e1f0bca2f593072e8db"
	]
}


2. Нельзя начинать значения атрибутов id и name с цифры. Да и вообще с цифры начинаются числа. Имена с цифры начинаться не могут. В соответствии с кодом выше:

<tr id="t1"><td></td><td></td><td></td></tr>
<tr id="t2"><td></td><td></td><td></td></tr>


3. Ну а дальше просто

function onAjaxSuccess(data) {
	$.each(data, function(key, rowData) {
		var cells = $('#' + key).find('td');

		$.each(rowData, function(index, value) {
			cells.eq(index).html(value);
		});
	});
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы