exploiter une liste dans un retour Json

exploiter une liste dans un retour Json - Javascript/Node.js - Programmation

Marsh Posté le 02-09-2016 à 06:21:28    

bonjour ,  
 
après un appel ajax , j'exploite le retour (positif) Json sous javascript  
je n'ai pas de problème lorsque la liste est au 1er niveau en utilisant  
'poster<-results.artwork.POSTER':
 
ce code mapping fonctionne très bien
 
 
mais lorsque j'ai 2 listes imbriquées je n'ai pas trouvé comment prendre la liste au niveau 2  
'poster<-results.artwork[0].POSTER':  
 
ce code mapping ne fonctionne pas poster reste en undefined  
 
je fais surement une erreur de syntaxe , si quelqu'un peu m'orienter  
merci

Reply

Marsh Posté le 02-09-2016 à 06:21:28   

Reply

Marsh Posté le 02-09-2016 à 08:11:39    

tu peux donner du code et nous dire dans quel environnement tu bosses ?
tu as fait un console.log de ton json récupéré après appel ajax ?
Et si results.artwork.POSTER fonctionne, il y a aucune chance que results.artwork[0].POSTER fonctionne car results.artwork n'est pas un tableau mais un objet. Donc ton JSON ne te retourne pas un tableau mais juste un objet.

 

Affiche nous ton code et le résultat de ton JSON (entre balises [code] merci)

Message cité 1 fois
Message édité par gatsu35 le 02-09-2016 à 08:12:51
Reply

Marsh Posté le 02-09-2016 à 22:52:28    

gatsu35 a écrit :

tu peux donner du code et nous dire dans quel environnement tu bosses ?  
tu as fait un console.log de ton json récupéré après appel ajax ?
Et si results.artwork.POSTER fonctionne, il y a aucune chance que results.artwork[0].POSTER fonctionne car results.artwork n'est pas un tableau mais un objet. Donc ton JSON ne te retourne pas un tableau mais juste un objet.
 
Affiche nous ton code et le résultat de ton JSON (entre balises [code] merci)


je suis d'accord  results.artwork.POSTER fonctionne en objet et results.artwork[0].POSTER en tableau  
les 2 retours sont juste des exemples mais ne proviennent pas de la même requête json  
 
le sujet posté est sur le tableau results[0].SeasonList
 
mon code :  

Code :
  1. var SEASON = {
  2.                     "td": {
  3.                         "season<-results[0].seasonList": {
  4.       "span.SeasonID": function(arg) {
  5.                                                       // log le résultat de SeasonId  
  6.        console.log ('season.seasonId:' + result[0].seasonId);


j'ai dans le log 'error couldn't display seasonId of Undefined'
 
le retour json est le suivant  
 

Code :
  1. "results": [
  2.         {
  3.             "title": "Game of Thrones",
  4.             "originalTitle": "Game of Thrones",
  5.             "year": 2011,
  6.             "watched": false,
  7.             "artwork": {
  8.                 "POSTER": [
  9.                     {
  10.                         "id": 1,
  11.                         "source": "SERIES",
  12.                         "artworkId": 1162,
  13.                         "locatedId": 6420,
  14.                         "generatedId": 4005,
  15.                         "artworkType": "POSTER",
  16.                         "filename": "g/ga/Game Of Thrones_0000.series.poster.21285489.default.jpg"
  17.                     },
  18.                     {
  19.                         "id": 1,
  20.                         "source": "SERIES",
  21.                         "artworkId": 1162,
  22.                         "locatedId": 6418,
  23.                         "generatedId": 4003,
  24.                         "artworkType": "POSTER",
  25.                         "filename": "g/ga/Game Of Thrones_0000.series.poster.21285491.default.jpg"
  26.                     },
  27.                     {
  28.                         "id": 1,
  29.                         "source": "SERIES",
  30.                         "artworkId": 1162,
  31.                         "locatedId": 6416,
  32.                         "generatedId": 4006,
  33.                         "artworkType": "POSTER",
  34.                         "filename": "g/ga/Game Of Thrones_0000.series.poster.21262775.default.jpg"
  35.                     },
  36.                     {
  37.                         "id": 1,
  38.                         "source": "SERIES",
  39.                         "artworkId": 1162,
  40.                         "locatedId": 6419,
  41.                         "generatedId": 4004,
  42.                         "artworkType": "POSTER",
  43.                         "filename": "g/ga/Game Of Thrones_0000.series.poster.21285490.default.jpg"
  44.                     },
  45.                     {
  46.                         "id": 1,
  47.                         "source": "SERIES",
  48.                         "artworkId": 1162,
  49.                         "locatedId": 6417,
  50.                         "generatedId": 4002,
  51.                         "artworkType": "POSTER",
  52.                         "filename": "g/ga/Game Of Thrones_0000.series.poster.21285492.default.jpg"
  53.                     }
  54.                 ]
  55.             },
  56.             "seriesId": 1,
  57.             "seasonList": [
  58.                 {
  59.                     "title": "Game of Thrones",
  60.                     "originalTitle": "Game of Thrones",
  61.                     "year": 2011,
  62.                     "watched": false,
  63.                     "artwork": {
  64.                         "POSTER": [
  65.                             {
  66.                                 "id": 10,
  67.                                 "source": "SEASON",
  68.                                 "artworkId": 20940,
  69.                                 "locatedId": 21443,
  70.                                 "generatedId": 18845,
  71.                                 "artworkType": "POSTER",
  72.                                 "filename": "g/ga/Game Of Thrones_0000_001.season.poster.121361-1-4.default.jpg"
  73.                             }
  74.                         ]
  75.                     },
  76.                     "seriesId": 1,
  77.                     "seasonId": 10,
  78.                     "season": 1,
  79.                     "artworkCount": 1
  80.                 },
  81.                 {
  82.                     "title": "Game of Thrones",
  83.                     "originalTitle": "Game of Thrones",
  84.                     "year": 2012,
  85.                     "watched": false,
  86.                     "artwork": {
  87.                         "POSTER": [
  88.                             {
  89.                                 "id": 11,
  90.                                 "source": "SEASON",
  91.                                 "artworkId": 21026,
  92.                                 "locatedId": 21521,
  93.                                 "generatedId": 18896,
  94.                                 "artworkType": "POSTER",
  95.                                 "filename": "g/ga/Game Of Thrones_0000_002.season.poster.121361-2-15.default.jpg"
  96.                             }
  97.                         ]
  98.                     },
  99.                     "seriesId": 1,
  100.                     "seasonId": 11,
  101.                     "season": 2,
  102.                     "artworkCount": 1
  103.                 },
  104.                 {
  105.                     "title": "Game of Thrones",
  106.                     "originalTitle": "Game of Thrones",
  107.                     "year": 2013,
  108.                     "watched": false,
  109.                     "artwork": {
  110.                         "POSTER": [
  111.                             {
  112.                                 "id": 34,
  113.                                 "source": "SEASON",
  114.                                 "artworkId": 21168,
  115.                                 "locatedId": 21573,
  116.                                 "generatedId": 18976,
  117.                                 "artworkType": "POSTER",
  118.                                 "filename": "g/ga/Game Of Thrones_0000_003.season.poster.121361-3-19.default.jpg"
  119.                             }
  120.                         ]
  121.                     },
  122.                     "seriesId": 1,
  123.                     "seasonId": 34,
  124.                     "season": 3,
  125.                     "artworkCount": 1
  126.                 },
  127.                 {
  128.                     "title": "Game of Thrones",
  129.                     "originalTitle": "Game of Thrones",
  130.                     "year": 2014,
  131.                     "watched": false,
  132.                     "artwork": {
  133.                         "POSTER": [
  134.                             {
  135.                                 "id": 33,
  136.                                 "source": "SEASON",
  137.                                 "artworkId": 21140,
  138.                                 "locatedId": 21552,
  139.                                 "generatedId": 18946,
  140.                                 "artworkType": "POSTER",
  141.                                 "filename": "g/ga/Game Of Thrones_0000_004.season.poster.121361-4-13.default.jpg"
  142.                             }
  143.                         ]
  144.                     },
  145.                     "seriesId": 1,
  146.                     "seasonId": 33,
  147.                     "season": 4,
  148.                     "artworkCount": 1
  149.                 },
  150.                 {
  151.                     "title": "Game of Thrones",
  152.                     "originalTitle": "Game of Thrones",
  153.                     "year": 2015,
  154.                     "watched": false,
  155.                     "artwork": {
  156.                         "POSTER": [
  157.                             {
  158.                                 "id": 1,
  159.                                 "source": "SEASON",
  160.                                 "artworkId": 1165,
  161.                                 "locatedId": 6401,
  162.                                 "generatedId": 4001,
  163.                                 "artworkType": "POSTER",
  164.                                 "filename": "g/ga/Game Of Thrones_0000_005.season.poster.121361-5-5.default.jpg"
  165.                             }
  166.                         ]
  167.                     },
  168.                     "seriesId": 1,
  169.                     "seasonId": 1,
  170.                     "season": 5,
  171.                     "artworkCount": 1
  172.                 },
  173.                 {
  174.                     "title": "Game of Thrones",
  175.                     "originalTitle": "Game of Thrones",
  176.                     "year": 2016,
  177.                     "watched": true,
  178.                     "artwork": {
  179.                         "POSTER": [
  180.                             {
  181.                                 "id": 35,
  182.                                 "source": "SEASON",
  183.                                 "artworkId": 21199,
  184.                                 "locatedId": 21608,
  185.                                 "generatedId": 18998,
  186.                                 "artworkType": "POSTER",
  187.                                 "filename": "g/ga/Game Of Thrones_0000_006.season.poster.121361-53.default.jpg"
  188.                             },
  189.                             {
  190.                                 "id": 35,
  191.                                 "source": "SEASON",
  192.                                 "artworkId": 21199,
  193.                                 "locatedId": 23750,
  194.                                 "generatedId": 21142,
  195.                                 "artworkType": "POSTER",
  196.                                 "filename": "g/ga/Game Of Thrones_0000_006.season.poster.121361-49.default.jpg"
  197.                             }
  198.                         ]
  199.                     },
  200.                     "seriesId": 1,
  201.                     "seasonId": 35,
  202.                     "season": 6,
  203.                     "artworkCount": 2
  204.                 }
  205.             ],
  206.             "artworkCount": 5
  207.         }
  208.     ]
  209. }


 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed