2016-06-21 4 views
-2

Я новичок в json .. Я пытаюсь создать запрос ajax, который будет вызывать json url, проанализировать его, а затем использовать атрибут url foreach (в этом json) выполнит запрос json для этого URL-адреса атрибут, а затем верните мне поле версии и идентификатор.Parse json url in ajax/javascript

Спасибо в продвинутом !!!

Это код, который я имею запись:

$(document).ready(function() { 
     $.ajax({ 
      url:'http://build-20003.eu1.kokol.com:8080/job/ios_sdk/api/json?pretty=true&tree=builds[*]', 
      method: 'GET', 
      headers: {'authorization': 'Basic ' + btoa('elior:3cbe5b03748e8f3f800e')} 
     }).done(function(data) { 
       var arrParent = JSON.parse(data);        
       var i; 
       var j; 
       for(j = 0; j < arrParent.length; j++) { 
         $.ajax({ 
          url:data.build[j].url, 
          method: 'GET', 
          headers: {'authorization': 'Basic ' + btoa('elior:3cbe5b03748e8f3f800e')} 
         }).done(function(datajob) { 
           var arr = JSON.parse(); 
           for(i = 0; i < arr.length; i++) { 
             out += "<tr><td>" + 
             arr[i].number + 
             "</td><td>" + 
             arr[i].version + 
             "</td><td>" + 
             arr[i].timestamp + 
             "</td></tr>"; 
           }        
         }); 
       } 
       document.getElementById("id01").innerHTML = out; 
       }) 
});  
</script> 

это пример первого JSon URL:

{ 
    "builds" : [ 
    { 
     "actions" : [ 
     { 

     }, 
     { 

     }, 
     { 

     }, 
     { 

     }, 
     { 

     }, 
     { 

     } 
     ], 
     "artifacts" : [ 

     ], 
     "building" : false, 
     "description" : null, 
     "duration" : 32640, 
     "estimatedDuration" : 33113, 
     "executor" : null, 
     "fullDisplayName" : "ios_sdk #282", 
     "id" : "2016-06-20_09-32-23", 
     "keepLog" : false, 
     "number" : 282, 
     "result" : "SUCCESS", 
     "timestamp" : 1466415143000, 
     "url" : "http://build-20003.eu1.kolko.com:8080/job/ios_sdk/282/", 
     "builtOn" : "macmini12", 
     "changeSet" : { 

     }, 
     "culprits" : [ 

это пример второго JSon URL (из вышесказанного):

{ 
    "actions" : [ 
    { 
     "parameters" : [ 
     { 
      "name" : "Version", 
      "value" : "5.0.1" 
     }, 
     { 
      "name" : "IOS", 
      "value" : true 
     }, 
     { 
      "name" : "CocoaPods", 
      "value" : false 
     }, 
     { 
      "name" : "Unity", 
      "value" : false 
     }, 
     { 
      "name" : "Publish", 
      "value" : false 
     } 
     ] 
    }, 
    { 
     "causes" : [ 
     { 
      "shortDescription" : "Started by user elior", 
      "userId" : "elior", 
      "userName" : "elior" 
     } 
     ] 
    }, 
    { 

    }, 
    { 
     "buildsByBranchName" : { 
     "refs/remotes/origin/master" : { 
      "buildNumber" : 282, 
      "buildResult" : null, 
      "marked" : { 
      "SHA1" : "4e3b7d0199aaa9b8d6cebcf8ccd6b2a5", 
      "branch" : [ 
       { 
       "SHA1" : "4e3b7d0199aaa9b8d6cebcf8ccd6b2a5", 
       "name" : "refs/remotes/origin/master" 
       } 
      ] 
      }, 
      "revision" : { 
      "SHA1" : "4e3b7d29ddaaa9b8b0cebcf8ccd6b2a5", 
      "branch" : [ 
       { 
       "SHA1" : "4e3b7d019929b0cbd6cebcf8ccd6b2a5", 
       "name" : "refs/remotes/origin/master" 
       } 
      ] 
      } 
     } 
     }, 
     "lastBuiltRevision" : { 
     "SHA1" : "4e3b7d019929ddb8b0cbd6cebcf82a5", 
     "branch" : [ 
      { 
      "SHA1" : "4e3b7d019929ddaaa9ebcf8ccd6b2a5", 
      "name" : "refs/remotes/origin/master" 
      } 
     ] 
     }, 
     "remoteUrls" : [ 
     "https://deployment:[email protected]/kokol/kokol.sdk.ios.git" 
     ], 
     "scmName" : "" 
    }, 
    { 

    }, 
    { 

    } 
    ], 
    "artifacts" : [ 

    ], 
    "building" : false, 
    "description" : null, 
    "duration" : 32640, 
    "estimatedDuration" : 33113, 
    "executor" : null, 
    "fullDisplayName" : "ios_sdk #282", 
    "id" : "2016-06-20_09-32-23", 
    "keepLog" : false, 
    "number" : 282, 
    "result" : "SUCCESS", 
    "timestamp" : 1466415143000, 
    "url" : "http://build-20003.eu1.kokol.com:8080/job/ios_sdk/282/", 
    "builtOn" : "macmini12", 
    "changeSet" : { 
    "items" : [ 
+1

Так в чем проблема? Вы пробовали вводный учебник Ajax? – Quentin

+0

Вы только что предоставили объекты JSON, где ваш код, который вы пробовали? – Shrabanee

ответ

0

Я нашел, как это сделать !. Я также обнаружил, что jenkins api может создать 1 структуру json, поскольку я был нужен. После того, как я создал соответствующий json url, я много читал об этом и смог прочитать json url и разобрать его. Это мой первый код, который содержит JSON - я новичок :)

<script src="http://code.jquery.com/jquery-1.12.0.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
     var USERNAME= 'elior'; 
     var PASSWORD = '3f800e'; // this isn't my real pass 
     var store=''; 
     $.ajax 
     ({ 
        type: "GET", 
        url: "http://bui-203.eu1.kokol.com:8080/job/ios_sdk/api/json?pretty=true&tree=name,description,builds[actions[parameters[name,value]],number,url,timestamp,result]", 
        dataType: 'json', 
        async: false, 
        headers: { 
        "Authorization": "Basic " + btoa(USERNAME + ":" + PASSWORD) 
        }, 
        data: '{ "comment" }', 
        success: function (data){ 
         for (var i=0 ; i< data.builds.length-1; i++) 
         { 
           var rowclass="gradeX"; 
           if(i % 2 == 0) 
             rowclass="gradeX"; 
           else 
             rowclass="gradeC"; 
           store+='<tr class='+rowclass+'>'; 
             store+='<td>'; 
               store+=data.builds[i].timestamp; //timestamp 
             store+='</td>'; 
             store+='<td>'; 
               store+=data.builds[i].actions[0].parameters[0].value; //Version 
             store+='</td>'; 
             store+='<td>'; 
               store+=data.builds[i].number; //buildNumber 
             store+='</td>'; 
             store+='<td>'; 
               store+=data.builds[i].actions[0].parameters[1].value; //IOS 
             store+='</td>'; 
             store+='<td>'; 
               store+=data.builds[i].actions[0].parameters[2].value; //Cocoapods 
             store+='</td>'; 
             store+='<td>'; 
               store+=data.builds[i].actions[0].parameters[3].value; //Unity 
             store+='</td>'; 
             store+='<td>'; 
               store+=data.builds[3].actions[0].parameters[4].value; //Publish 
             store+='</td>'; 
             store+='<td>'; 
               store+=data.builds[i].result; //result 
             store+='</td>'; 
           store+='</tr>'; 
         } 
       } 
     }); 
     document.getElementById('id01').innerHTML=store; 
     }); 
</script>