Estoy tratando de convertir esta tabla HTML:Cómo convertir tabla HTML para Javascript Object con jQuery
Código:
<table id="students" border="1">
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Grade</th>
</tr>
</thead>
<tbody>
<tr class="student">
<td>Oscar</td>
<td>23</td>
<td>16.5</td>
</tr>
<tr class="student">
<td>Antonio</td>
<td>32</td>
<td>14</td>
</tr>
<tr class="student">
<td>Jessica</td>
<td>21</td>
<td>19</td>
</tr>
</tbody>
</table>
en un objeto javascript usando jQuery:
var tbl = $('table#students tr').map(function() {
return $(this).find('td').map(function() {
return $(this).text();
}).get();
}).get();
La salida de código de voluntad por encima de la matriz siguiente:
["Oscar", "23", "16.5", "Antonio", "32", "14", "Jessica", "21", "19"]
Todo es bueno en este punto, pero ¿cómo se puede hacer si quiero que los objetos JavaScript dentro de la matriz a tener la siguiente estructura:
[{id:1, name: "Oscar", age: 23, grade: 16.5}, {id:2, name: "Antonio", age: 32, grade: 14}, {id:3, name: "Jessica", age: 21, grade: 19}]
Sólo para ser más específicos ...
- El
id
se obtiene de latr
- Los
name
,age
ygrade
valores se obtienen de cada fila
Hice este jsfiddle para probar:
http://jsfiddle.net/oscarj24/ptVDm/
Gracias
El segundo ejemplo es ** NO JSON **. Es un ** objeto de JavaScript **. Demasiadas personas ya están confundidas sobre lo que es JSON, así que voy a ser exigente y lo señalaré. – Aesthete
es muy simple, pero debo decir que necesité algo de tiempo para hacerlo bien: JSON es un formato de serialización ('stringification'). si no es una cadena, no es JSON; si es una cadena, puede o no analizarse como JSON válido. cuando alguien dice 'un objeto JSON', entonces lo que podrían querer decir es 'un valor de datos que se serializa fácilmente como JSON' (que no es cierto para todos los valores). – flow