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.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

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