0

Tengo lo siguiente:

 {"sub":"{\"nombre\":\"HORACIO\",\"fechaNacimiento\":4444444,\"apellido\":\"GONZALEZ\",\"edad\":\"34\",\"nivel\":\"3\"}","iss":"CENTRO","exp":235}

Quiero quedarme con los valores de los campos nombre y apellido, es decir, HORACIO y GONZALEZ.

Como puedo realizarlo con JavaScript?

Muchas gracias

2 Answers2

6

Lo que tienes es una cadena de un texto en JSON. Puedes convertirlo a JSON:

var objeto = JSON.parse(cadena)

Luego puedes acceder a las propiedades del JSON

var nombre = objeto.sub.nombre;

iMSn20
  • 533
  • 3
  • 18
cefeboru
  • 263
  • 1
  • 6
  • 3
    [JSON !== Objeto Javascript](https://es.stackoverflow.com/questions/164943/cu%c3%a1l-es-la-diferencia-entre-json-y-un-objeto-en-javascript) – Pablo Lozano Feb 05 '20 at 14:36
1

ps la cadena es JSON y el valor de sub es texto entonces convertimos a JSON dicho valor para poder obtener los valores

$(document).ready(function(){
  var data = {"sub":"{\"nombre\":\"HORACIO\",\"fechaNacimiento\":4444444,\"apellido\":\"GONZALEZ\",\"edad\":\"34\",\"nivel\":\"3\"}","iss":"CENTRO","exp":235};
  var sub = JSON.parse(data.sub);
  console.log(sub);
  $("#nombre").html(sub.nombre+" "+sub.apellido);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="nombre"></div>