Pereiti prie turinio

[BAIGTA] informacijos išgavimas iš JSON


Rekomenduojami pranešimai

Sveiki, nesiseka man su tuo js, viską jau pamiršęs..

Taigi, turiu ajax formą, kuris siunčia užklausą į PHP failą, iš ten gauna atsakymą json formatu. Atsakymas maždaug toks ->

 
[
{"id" : "id_6_id",	"name":"creative",	"volume" : "full", 	"status" : "dead"},
{"id" : "id_7_id",	"name":"acme",		"volume" : "muted",	"status" : "alive"},
]

žinau, kad jį reikią išskaidyti naudojant jQuery.parseJSON(data) funkciją, tačiau negaliu gaut būtent tos, dėl dinamio id_*.

Bandžiau įvairius variantus ->

var server_id = [];

jQuery('*[data-server-id]').each(function(){
     server_id.push(jQuery(this).data('server-id'));
});
/* #1 gaunu klaidą [b]ReferenceError: _id is not defined[/b] */
var ajax_response = jQuery.parseJSON(data);

server_id.forEach(function(entry) {
{
   alert(ajax_response.id_+i+_id)
});
/* #2 gaunu klaidą SyntaxError: missing name after . operator  */
var ajax_response = jQuery.parseJSON(data);

server_id.forEach(function(entry) {
{
   alert(ajax_response."id_"+i"_id")
});
/* #3 gaunu klaidą  */
var ajax_response = jQuery.parseJSON(data);

server_id.forEach(function(entry) {
{
   alert(ajax_response."id_"+i"_id")
});
/* #4 išvis nieko..*/
var ajax_response = jQuery.parseJSON(data);


server_id.forEach(function(entry) {
{
    var start = "id_";
    var end = "_id";
    var middle = i;
    var full = start.middle.end;

    alert(ajax_response.full)

});

 

Išbandžiau viską kas tik šovė į galvą, nes google dėl tokios bėdos info neradau

 

Dėkui, kas padės

Redagavo leoleva
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Ar gerai supratau, kad Tu nori isgauti id ? Array isskaidymui (kiek radau info google) naudojama each funkcija, o veliau, "_" panaikinimui reiktu naudoti split'a.

 

var array = [
{"id" : "id_6_id",      "name":"creative",      "volume" : "full",      "status" : "dead"},
{"id" : "id_7_id",      "name":"acme",          "volume" : "muted",     "status" : "alive"},
];

jQuery(function() {
$.each(array, function( index ) {
	var id = array[index].id;
	id = id.split("_");
	id = id[1];

        alert(id); //(6 arba 7)

               alert(array[index].name); //(creative arba acme)
});
});

Redagavo pDarius
Nuoroda į pranešimą
Dalintis kituose puslapiuose


function getRowById(data, row_id) {
$.each(data, function(k, row) {
	if (row.id === row_id) {
		return row;
	}
});

return null; // cant find the row by id
}

var data = [
{"id" : "id_6_id",      "name":"creative",      "volume" : "full",      "status" : "dead"},
{"id" : "id_7_id",      "name":"acme",          "volume" : "muted",     "status" : "alive"},
];
var row_id = 'id_6_id';

console.log(getRowById(data, row_id));

 

Neidealus variantas, bet veikia.

 

O siaip galima kaip nors patogiau duoenis susideti. Jei labai reikia id, tai id gali naudoti kaip objekto key.

Redagavo wwwOgrasLt
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...