2016-04-20 14 views
0

Ich möchte Schleife mit JSON-Daten machen, die in HTML-Titel, Link, Beschreibung einiger Addvertisment zeigen. Hier haben Sie JSON Vorlage mit zwei Ergänzungen, in der Praxis haben meine JSON 10-20 ID. Was mache ich falsch mit dem unteren Code?Wie mache ich die Schleife mit JSON-Daten?

JSON in Variable

var text = '{ 
"wynik":{ 
    "wynikOk":true, 
    "kodWykonania":0, 
    "kodBledu":null, 
    "komunikat":null, 
    "dodatkoweInfo":null, 
    "userData":null 
}, 
"czasWykonania":null, 
"addvertisments":[ 
    { 
    "id":721, 
    "status":1, 
    "title":"Tester", 
    "link":"#", 
    "description":"Aliquam quis erat vitae lectus blandit auctor. Cras placerat sapien a nibh ultricies viverra. Duis nulla massa, pulvinar et lacinia vitae, congue non dolor. Sed pellentesque ut augue eu condimentum. Cras elit nisi, rutrum eu enim at, varius consectetur leo. Maecenas a bibendum nibh, sed sagittis velit. Donec vehicula purus vel orci pretium auctor. Mauris vestibulum suscipit nulla mollis ornare.", 
    "dtwo":"2016/03/02", 
    "idAddType":{ 
     "id":2, 
     "name":"Testers" 
    }, 
    "regions":[ 
     { 
      "id":12, 
      "name":"region_1" 
     } 
    ] 
    }, 
    { 
    "id":74, 
    "status":1, 
    "title":"Tester 2", 
    "link":"#", 
    "description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed in risus eu velit laoreet vehicula. Aliquam eleifend vitae velit in suscipit. Aenean elementum, sapien sed consectetur aliquet, massa sem fringilla massa, non vulputate velit erat efficitur nibh. Cras quis libero eu lacus interdum hendrerit nec sed eros. Aliquam imperdiet rutrum ipsum a finibus. Phasellus dolor nunc, convallis sit amet nulla ut, sollicitudin ultricies magna. Fusce id nunc felis. Etiam faucibus finibus semper. Fusce semper quam nec tellus efficitur, vel mattis magna finibus. Sed felis neque, aliquam sed lectus eget, ultricies pretium libero. Duis ut posuere nisi.", 
    "dtwo":"2016/02/12", 
    "idAddType":{ 
     "id":3, 
     "name":"Prorgrammers" 
    }, 
    "regions":[ 
     { 
      "id":15, 
      "name":"region_2" 
     } 
    ] 
    }, 




] 
}'; 

Meine Funktion

myFunction(text); 


function myFunction(arr) { 
var out = ""; 
var i; 
for(i = 0; i < arr.length; i++) { 
    out += '<li><div><span>' + arr[i].title + '</span></div><div><p>' + arr[i].description + '</p><div><a href=' + arr[i].link + '>apply</a></div></li>'; 
} 
document.getElementById("id01").innerHTML = out; 
} 

Fiddle: https://jsfiddle.net/qut10dxw/

+0

Titel, Link, Beschreibung von json mit jeder – gainsky

+0

fügt Gibt es eine Möglichkeit den Code in jsfiddle zu setzen? – Illaya

+0

https://jsfiddle.net/qut10dxw/ – gainsky

Antwort

0

Ich denke, Ihre JSON-String ist falsch: diese Zeichenfolge Versuchen:

var text = "{ 
    "wynik": { 
     "wynikOk": true, 
     "kodWykonania": 0, 
     "kodBledu": null, 
     "komunikat": null, 
     "dodatkoweInfo": null, 
     "userData": null 
    }, 
    "czasWykonania": null, 
    "addvertisments": [{ 
     "id": 721, 
     "status": 1, 
     "title": "Tester", 
     "link": "#", 
     "description": "Aliquam quis erat vitae lectus blandit auctor. Cras placerat sapien a nibh ultricies viverra. Duis nulla massa, pulvinar et lacinia vitae, congue non dolor. Sed pellentesque ut augue eu condimentum. Cras elit nisi, rutrum eu enim at, varius consectetur leo. Maecenas a bibendum nibh, sed sagittis velit. Donec vehicula purus vel orci pretium auctor. Mauris vestibulum suscipit nulla mollis ornare.", 
     "dtwo": "2016/03/02", 
     "idAddType": { 
      "id": 2, 
      "name": "Testers" 
     }, 
     "regions": [{ 
      "id": 12, 
      "name": "region_1" 
     }] 
    }, { 
     "id": 74, 
     "status": 1, 
     "title": "Tester 2", 
     "link": "#", 
     "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed in risus eu velit laoreet vehicula. Aliquam eleifend vitae velit in suscipit. Aenean elementum, sapien sed consectetur aliquet, massa sem fringilla massa, non vulputate velit erat efficitur nibh. Cras quis libero eu lacus interdum hendrerit nec sed eros. Aliquam imperdiet rutrum ipsum a finibus. Phasellus dolor nunc, convallis sit amet nulla ut, sollicitudin ultricies magna. Fusce id nunc felis. Etiam faucibus finibus semper. Fusce semper quam nec tellus efficitur, vel mattis magna finibus. Sed felis neque, aliquam sed lectus eget, ultricies pretium libero. Duis ut posuere nisi.", 
     "dtwo": "2016/02/12", 
     "idAddType": { 
      "id": 3, 
      "name": "Prorgrammers" 
     }, 
     "regions": [{ 
      "id": 15, 
      "name": "region_2" 
     }] 
    }] 

}"; 
2

Sie können es zuerst mit JSON.parse() analysieren und nehmen nur das Array als Parameter für die Funktion.

function myFunction(arr) { 
 
    var out = ""; 
 
    var i; 
 
    for (i = 0; i < arr.length; i++) { 
 
     out += '<li><div><span>' + arr[i].title + '</span></div><div><p>' + arr[i].description + '</p><div><a href=' + arr[i].link + '>apply</a></div></li>'; 
 
    } 
 
    document.getElementById("id01").innerHTML = out; 
 
} 
 

 
var text = '{ "wynik": { "wynikOk": true, "kodWykonania": 0, "kodBledu": null, "komunikat": null, "dodatkoweInfo": null, "userData": null }, "czasWykonania": null, "addvertisments": [{ "id": 721, "status": 1, "title": "Tester", "link": "#", "description": "Aliquam quis erat vitae lectus blandit auctor. Cras placerat sapien a nibh ultricies viverra. Duis nulla massa, pulvinar et lacinia vitae, congue non dolor. Sed pellentesque ut augue eu condimentum. Cras elit nisi, rutrum eu enim at, varius consectetur leo. Maecenas a bibendum nibh, sed sagittis velit. Donec vehicula purus vel orci pretium auctor. Mauris vestibulum suscipit nulla mollis ornare.", "dtwo": "2016/03/02", "idAddType": { "id": 2, "name": "Testers" }, "regions": [{ "id": 12, "name": "region_1" }] }, { "id": 74, "status": 1, "title": "Tester 2", "link": "#", "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed in risus eu velit laoreet vehicula. Aliquam eleifend vitae velit in suscipit. Aenean elementum, sapien sed consectetur aliquet, massa sem fringilla massa, non vulputate velit erat efficitur nibh. Cras quis libero eu lacus interdum hendrerit nec sed eros. Aliquam imperdiet rutrum ipsum a finibus. Phasellus dolor nunc, convallis sit amet nulla ut, sollicitudin ultricies magna. Fusce id nunc felis. Etiam faucibus finibus semper. Fusce semper quam nec tellus efficitur, vel mattis magna finibus. Sed felis neque, aliquam sed lectus eget, ultricies pretium libero. Duis ut posuere nisi.", "dtwo": "2016/02/12", "idAddType": { "id": 3, "name": "Prorgrammers" }, "regions": [{ "id": 15, "name": "region_2" }] }] }'; 
 
myFunction(JSON.parse(text).addvertisments);
<div id="id01"></div>

1

Sie sollten Ihre Funktion mit

text['addvertisments'] 

dann sollte alles in Ordnung sein nennen.

können Sie ersetzen

for (var i=0; i<arr.length; i++) 

mit

for (var i in arr){...} 
0

Ich glaube, du verpasst Ihre JSON analysieren, weil die text Variable nur eine Zeichenfolge ist. Und Sie müssen auch die addvertisments Eigentum Ihrer JSON erhalten wie folgt:

function myFunction(text) { 
    var arr = JSON.parse(text).addvertisments; 
    var out = ""; 
    var i; 

    for(i = 0; i < arr.length; i++) { 
     out += '<li><div><span>' + arr[i].title + '</span></div><div><p>' + arr[i].description + '</p><div><a href=' + arr[i].link + '>apply</a></div></li>'; 
    } 
    document.getElementById("id01").innerHTML = out; 
} 
Verwandte Themen