preluarea elementelor din datele returnate ca json din vizualizarea django

În fereastra mea django , folosesc simplejson pentru a converti unele rezultate ale căutării în json

vals = [('supposed to be a toaster.', 8),('we can do more than one thing.',14),("we could make a bicycle.",51)]

result={'results':vals}

serialized = simplejson.dumps(result)

serialized=>

{"msg": "success!.",  "results": [["supposed to be a toaster.", 8], ["we can do more than one thing.", 14], [" we could make a bicycle.", 51]]}

Pot trimite aceste date serializate la funcția javascript

return HttpResponse(serialized, mimetype="application/json")

În funcția mea de JavaScript (folosind jquery), pot recupera datele ca

var data = $.parseJSON(res.responseText);
var results = data['results']

Aș dori să afișez rezultatele în următorul format

8  -- supposed to be a toaster. 
14 -- we can do more than one thing
51 -- we could make a bicycle

Cum pot face acest lucru în javascript? Variabila JavaScript results conține s

supposed to be a toaster.,8,we can do more than one thing.,14,we could make a bicycle.,51,

Va trebui să folosesc regex pentru a separa elementele? Sau există o soluție mai bună? Ceea ce face dificilă utilizarea regexului este faptul că șirurile pot conține uneori numere.

Editați

Mulțumită răspunsurilor Priyank și alexey28, am încercat

for(var item in results) {
    var time = results[item][1];
    console.log('time='+time);
    var resStr =results[item][0];
    console.log('resStr='+resStr);
    formatedResult += time+ " --- " + resStr+'
'; } $('#showresults').html(formatedResult);
1
mulțumesc Priyank, asta ar funcționa
adăugat autor damon, sursa
Cred că puteți itera peste date ['results'] folosind JavaScript simplu pentru buclă. consola "date" .. și vezi în firebug wht u vezi ...
adăugat autor Priyank Patel, sursa

1 răspunsuri

Datele variabile vor conține matrice, astfel încât să puteți:

var formatedResult = "";
for(var i = 0; i < data.length; i++) {
    var item = data[i];
    formatedResult += item[1] + " --- " + item[0];
}
// Set html for you <div id="resultOutput"></div>:
jQuery("div#resultOutput").html(formatedResult);
0
adăugat
salut, v-am modificat puțin soluția și l-am făcut să funcționeze .. vă rog să vedeți întrebarea mea editată
adăugat autor damon, sursa
JavaScript, România - Moldova
JavaScript, România - Moldova
328 participanți

Comunitatea Română JavaScript: github.com/js-ro Pentru confort, opriți notificările. Parteneri: @node_ro, @php_ro, @python_ro, @seo_ro, @RomaniaGroup, @ai_ro, @Grupuri_IT Offtop: @holywars_ro Joburi: @js_jobs_ro Sponsored with ❤️ by ciupacabra.com

Python România
Python România
100 participanți

Comunitatea pasionaților de Python din România.