2017-06-15 57 views
0

我使用讓我此對象的API(https://api.forismatic.com/api/1.0/?method=getQuote&lang=en&format=jsonp&jsonp=?)(隨機報價與作家):如何隔離JSON對象的不同部分?

?({"quoteText":"Life is so constructed that an event does not, cannot, will not, match the expectation. ","quoteAuthor":"Charlotte Bronte","senderName":"","senderLink":"","quoteLink":"http://forismatic.com/en/16af75b8b4/"}) 

我怎麼能夠隔離"quoteText":Life is so constructed that an event does not, cannot, will not, match the expectation.和地方把它放在我的HTML代碼。

同樣的東西與隔離:Charlotte Bronte"quoteAuthor":並將其放置在我的HTML代碼中的某個地方。獎勵積分,有時"quoteAuthor":字段留空,不知道該怎麼辦時發生。

我知道如何將這整個JSON對象放在我的HTML代碼中,我只需要一些幫助來隔離JSON對象的某些部分,並將它們分開放置。

任何幫助將深表感謝!

+0

** JSON.parse()來**會幫助你。 https://www.w3schools.com/js/js_json_parse.asp。所以基本上你會將這個字符串表示轉換成一個有效的'object',然後通過它的屬性名稱來訪問這些值。 –

+0

你的意思是隔離?如果它是一個JSON,你可以訪問對象'jsonObject.quoteText'的鍵將返回'生命是這樣構造的,事件不會,不會,不會...' – nicowernli

+0

[JavaScript中解析JSON? ](https://stackoverflow.com/questions/4935632/parse-json-in-javascript) –

回答

0

因爲您檢索在JSONp格式中,請記住您需要將dataType設置爲jsonp,這樣jQuery可以正確解析它。完成之後,在jqXHR.done回調中,您可以簡單地訪問實際的JSON響應。

您收到的僅僅是一個對象,其中包含格式爲鍵值對的數據。爲了訪問該值,例如Life is so constructed that...,您將不得不通過其密鑰quoteText來檢索它。使用點符號並假定對象存儲在一個變量中,例如response,則可以使用response.quoteText訪問該引用。請參閱下面的證明了概念例如:

$(function() { 
 
    var request = $.ajax({ 
 
    url: 'https://api.forismatic.com/api/1.0/?method=getQuote&lang=en&format=jsonp&jsonp=?', 
 
    dataType: 'jsonp'}); 
 
    
 
    request.done(function(response) { 
 
    // 'response' is the entire JSON returned 
 
    console.log(response.quoteText); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

感謝特里,該解決方案爲我工作:) – Sam

0

您可以使用.「運算符」訪問JSON對象中的某些鍵。

在你的情況,讓我們說你在一個名爲quotevar保存的JSON,quote.quoteText就等於"Life is so constructed that an event does not, cannot, will not, match the expectation. "

var quote = {"quoteText":"Life is so constructed that an event does not, cannot, will not, match the expectation. ","quoteAuthor":"Charlotte Bronte","senderName":"","senderLink":"","quoteLink":"http://forismatic.com/en/16af75b8b4/"}; 
 

 
document.querySelector("#div").innerHTML = quote.quoteText; 
 
document.querySelector("#from").innerHTML = quote.quoteAuthor;
Quote: 
 
<pre id="div"></pre> 
 

 
From: <span id="from"></span>

你應該看看w3school's JSON tutorial

+0

謝謝盧卡,解決了這個問題:) – Sam