¿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.