¿Cómo obtener la clave y el valor json en javascript?


81

Estoy devolviendo un json como se muestra a continuación

{"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"}

Estoy tratando de obtener la clave y el valor de cada elemento:

..
}).done(function(data){
    alert(data['jobtitel']);
});

Me estoy poniendo undefineden alerta. ¿POR QUÉ? Lo intenté data.jobtitel, lo intenté con el bucle pero no tuve éxito.


primero debe convertir ese json en una matriz, luego debe probar data.jobtitel
swan

JSON es una cadena y desea acceder allí, entonces debe tener que convertir ...
cisne

@swan, $ .parseJSON no siempre está disponible en todos los navegadores ... ¿qué hacer?
donante

1
si agrega jquery, $ .parseJSON funcionará ... de lo contrario, debe usar el convertidor JSON de JavaScript puro JSON.eval (jsonstring)
swan

@swan, ¡perfecto! ahora está funcionando
donante

Respuestas:


147
//By using jquery json parser    
var obj = $.parseJSON('{"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"}');
alert(obj['jobtitel']);

//By using javasript json parser
var t = JSON.parse('{"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"}');
alert(t['jobtitel'])

Mira este jsfiddle

A partir de jQuery 3.0 , $ .parseJSON está obsoleto. Para analizar cadenas JSON, utilice el método JSON.parse nativo en su lugar.

Fuente: http://api.jquery.com/jquery.parsejson/


2
Esto no está suficientemente documentado. La capacidad de usar json ['KeyAsString']. Realmente grandioso. Gracias.
Android334

¿Cómo resolvería Entwickler a jobtitel? ¿Hay algo nativo o tengo que escribir mi propio código?
dGRAMOP

22

has analizado esa Jsoncadena usandoJSON.parse()

..
}).done(function(data){
    obj = JSON.parse(data);
    alert(obj.jobtitel);
});

Simplificado: JSON.parse (data) .jobtitle
Jonas

12
var data = {"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"}

var parsedData = JSON.parse(data);
alert(parsedData.name);
alert(parsedData.skills);
alert(parsedData.jobtitel);
alert(parsedData.res_linkedin);

1
Así es como se hace en javascript.
Ishara Amarasekera

4

http://jsfiddle.net/v8aWF/

Resolvió un violín. Compruébalo

(function() {
    var oJson = {
        "name": "", 
        "skills": "", 
        "jobtitle": "Entwickler", 
        "res_linkedin": "GwebSearch"
    }
    alert(oJson.jobtitle);
})();

2

Un enfoque simple en lugar de usar JSON.parse

 success: function(response){
     var resdata = response;
     alert(resdata['name']);
}

1

Parece que datano contiene lo que crees que contiene, compruébalo.

let data={"name": "", "skills": "", "jobtitel": "Entwickler", "res_linkedin": "GwebSearch"};

console.log( data["jobtitel"] );
console.log( data.jobtitel );


0

Puede usar la siguiente solución para obtener una clave JSON y un valor en JavaScript:

var dt = JSON.stringify(data).replace('[', '').replace(']', '');
if (dt) {
  var result = jQuery.parseJSON(dt);
  var val = result.YOUR_OBJECT_NAME;
}

1
Si bien este fragmento de código puede ser la solución, incluir una explicación realmente ayuda a mejorar la calidad de su publicación. Recuerde que está respondiendo la pregunta para los lectores en el futuro, y es posible que esas personas no conozcan los motivos de su sugerencia de código.
Narendra Jadhav

0

Por conseguir la llave

var a = {"a":"1","b":"2"};
var keys = []
for(var k in a){
  keys.push(k)
}

Por obtener valor.

var a = {"a":"1","b":"2"};
var values = []
for(var k in a){
  values.push(a[k]);
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.