Cita: , entonces lo puedo hacer sin JSONPath ?
tu puedes sacar cualquier información de un JSON pero no con una sintaxis similar a XPath, a menos que estés usando E4X. honestamente no comprendo cuál es la información que quieres obtener. tal como lo tienes estás iterando el array e imprimiendo cada propiedad del objeto. esta línea me confunde, no se que quieres decir...
"EL id más/menos grande, selecciono el id pero muestro el nombre".
@edit
he releido todo el tema y no se si finalmente comprendí. ¿tu quieres seleccionar un objeto de todos ellos según una condición? por ejemplo, obtener el objeto que tenga el valor más alto en el campo id. si es eso lo que intentas hacer, entonces tienes que recorrer primero por todos los elementos del array para determinar cual de ellos contiene el id más alto. pero en mi opinión eso sería un proceso un tanto costoso. es más fácil si ordenas el array según el valor del campo. básicamente utilizas el método sort y le pasas una función que recibe dos argumentos. estos argumentos serán los objetos del array. en el cuerpo de la función realizas la operación en base al campo. finalmente, en un extremo del array tienes el objeto con el id mas alto y en el otro extremo el objeto con el id mas bajo.
Código:
array.sort(function(a,b){
return a.id - b.id;
});