2017-06-29 118 views
1

我使用ajax從URL解析JSON數據。我需要將解析的數組捕獲到一個變量中。我會怎麼做呢?由於從URL打印JSON字符串

function rvOffices() { 
$.ajax({ 
    url:'https://api.greenhouse.io/v1/boards/roivantsciences/offices', 
    type:'GET', 
    data: JSON.stringify(data), 
    dataType: 'text', 
    success: function(data) { 
     // get string 
    } 
}); 
} 
rvOffices(); 
var rvOfficesString = // resultant string 
+0

你可以使用http://api.jquery.com/jquery.parsejson/所以你需要var data = $ .parseJSON(jsonData)... – RohitS

+0

你是說使用它而不是ajax調用? – pjldesign

+0

nope假設一切正常,您的設置成功,以獲取返回的數據使用它 – RohitS

回答

2

您可以使用JSON.parse(data)到所需的輸出JSON轉換,然後從內與.object[array_index]分別訪問的對象和數組索引:

function rvOffices() { 
 
    $.ajax({ 
 
    url: 'https://api.greenhouse.io/v1/boards/roivantsciences/offices', 
 
    type: 'GET', 
 
    dataType: 'text', 
 
    success: function(data) { 
 
     var json_result = JSON.parse(data); 
 
     //console.log(json_result); // The whole JSON 
 
     console.log(json_result.offices[0].name); 
 
    } 
 
    }); 
 
} 
 
rvOffices();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

您也不需要通過任何data,因爲您正在執行GET請求。

希望這會有所幫助! :)

+0

謝謝你的幫助! – pjldesign

-1

你可以嘗試這樣的: -

$.ajax({ 
    url:'https://api.greenhouse.io/v1/boards/roivantsciences/offices', 
    type:'GET', 
    dataType: 'text', 
    success: function(response) { 
    // get string 
     window.temp = JSON.parse(response); 
    } 
}); 
1

所以我猜你是不知道的Ajax調用,所以讓我們打破它..

  1. Ajax調用是一個簡單的方法,使遠程資源(GET/POST/PUT請求...)請求的類型(GET/POST)取決於您的需要。

  2. 所以如果你有一個端點只返回數據,就像你的情況一樣,一個簡單的get/post請求就足夠了。

  3. 您可以發送添加數據,請求獲取來自終端的數據(比如說您希望獲得其他字段的資源(比如說人)的名稱,年齡,地址等)。

  4. 這裏是link在jQuery的Ajax請求

  5. 這裏是jQuery的

    jQuery parse json解析JSON

因此,例如:

// let's say when you call this function it will make post request to fixed end point and return data else null 
 

 
function rvOffices() { 
 
var res = null; // let be default null 
 
$.ajax({ 
 
url:'https://api.greenhouse.io/v1/boards/roivantsciences/offices', 
 
type:'GET', // type of request method 
 
dataType: 'text', // type of data you want to send if any. 
 
success: function(data) { 
 
    res = $.parseJSON(data); // will do the parsing of data returned if ajax succeeds (assuming your endpoint will return JSON data.) 
 
} 
 
}); 
 
return res; 
 
} 
 

 
// lets call the function 
 
var rvOfficesString = rvOffices(); 
 

 
// print the value returned 
 
console.log(rvOfficesString);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>