简体   繁体   中英

Javascript json, check all keys for undefined ('null') and set default

Firstoff I'd like to add I've been learning javascript for like only 2 days now. I'm pretty much way ahead of myself with what I'm trying to get but here goes.

I have a json array from which I get data to replace/insert in my page. The first problem I have is that if it comes across an empty ('null') key it will just stop. Will not even try to continu.

document.getElementById("id1")src=json.img1.link;
document.getElementById("id2")src=json.img2.link;
document.getElementById("id3")src=json.img3.link;

json.img2.link is empty ('null' response from json.). javascript will then not replace "id2" but it also won't replace "id3".

I'm now trying to find a solution where it will if nothing else at least set a default.

The script is not continuing executing because it comes to an error --trying to access property link of an undefined object

Try

document.getElementById('id2').src = json.img2 ? json.img2.link : 'defaultLink';

This way your are checking for undefined (ie null) object in img2 and assigning the default value. This assumes that what is not defined (null) is the img2 object.

Actually I don't think your code should work at all, you are missing the . before the src So, try

document.getElementById("id1").src=json.img1.link;
document.getElementById("id2").src=json.img2.link;
document.getElementById("id3").src=json.img3.link;

and let us know if that doesn't solve the problem.

Btw, +points for learning JavaScript and not just straight into jQuery!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM