JSON - la recherche par le biais de touches avec les noms de variable (inconnu)
Total JSON noob ici. Je suis en train de passer à travers certains JSON de sortir de la première image à partir d'un tableau à l'intérieur de l'objet, et au bout de 4 heures après l'avoir, j'ai décidé que j'probablement besoin d'aide.
Je suis en mesure de tirer toutes les valeur que j'ai besoin de l'objet où je sais que la clé, mais j'ai quelques données non cohérentes les noms de clés que j'ai besoin fondamentalement d'itérer à travers la recherche d'une correspondance partielle, puis en tirant la première de ces résultats.
La structure Json de l'inconnu élément est structuré comme ceci:
"custom_fields": {
"content_0_subheading": [
"Title text"
],
"content_1_text": [
"Some text"
],
"content_2_image": [
[
"http://staging.livelivelyblog.assemblo.com/wp-content/uploads/2013/09/wellbeing-260x130.jpg",
260,
130,
true
]
],
"content_2_caption": [
""
]
}
Ce que je suis après est la content_2_image dans ce cas, mais dans un autre billet, il pourrait être content_20_image pour tout ce que je sais (il y a beaucoup de données tirée).
Toutes les idées de la meilleure façon de passer à travers ces inconnus clés de la recherche d'une correspondance partielle sur "_image" dans la clé ou quelque chose, ce serait TRÈS apprécié.
Merci!
OriginalL'auteur Steve de Niese | 2013-09-20
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas il suffit de chercher dans tous les champs avec une correspondance partielle, de sorte que vous aurez à parcourir chaque champ et de vérifier ensuite les noms de champ pour le match. Essayez quelque chose comme ceci:
Fondamentalement, ce que nous faisons est:
1) de la Boucle à travers les clés de l'objet json
for (var key in json)
2) s'Assurer que le json a la propriété, et nous ne sommes pas accès à des clés, nous ne voulons pas
if (json.hasOwnProperty(key))
3) Vérifier si la clé correspond à l'expression régulière
/content_[0-9]+_image/
3a) en gros, le test si elle correspond à
content_ANY NUMBERS_image
oùANY NUMBERS
est égale à au moins un chiffre ou plus4) Utiliser les données mais vous s'il vous plaît
console.log(json[key])
Espérons que cette aide!
OriginalL'auteur switz
Vous pouvez utiliser
for ... in
OriginalL'auteur MrP
OriginalL'auteur Derek 朕會功夫