2017-07-19 18 views
0

我對JSON/JQuery世界很新,所以請忍受我的無知。從Web服務調用Json輸出顯示

我想讀通過Web服務調用像下面返回的JSON數據的輸出:

我的Web服務調用是在這裏:

http://example.com/getPortfolioListByContact.json?component=C1&contactId=510297 

該返回數據爲:

{ 
    "data": [ 
    { 
     "PORTFOLIO_ID": 13495, 
     "SUBSCRIPTION_ID": 1653, 
     "STATUS": "ACTIVE", 
    } 
    ], 
    "success": true 
} 

現在我試圖得到JSON數據返回爲字符串,也想得到這個作爲解析/

<script> 
var parsed ; 
$.getJSON("http://example.com/getPortfolioListByContact.json?component=C1&contactId=510297", function(data){ 
    alert(data.SUBSCRIPTION_ID); 
}); 
parsed = JSON.parse(data); 
alert(parsed) ; 
</script> 

我將警報中的響應顯示爲「未定義」。我可能沒有正確處理成功處理程序。我想獲取返回的每個json數據的值和具體值。 請幫忙。

感謝

回答

0

我正在爲 「未定義」 在警報的響應。

原因:您試圖解析範圍外的API響應。由於data對象只能在API調用返回的promise中訪問。

試試這個希望它會工作,按您的期望

$.getJSON("http://example.com/getPortfolioListByContact.json?component=C1&contactId=510297", function(res) { 
    var data = res.data; 
    alert(JSON.stringify(data)); 
}); 
+0

我得到了整個json輸出的警報但stringify我錯過了解析。我如何才能獲取SUBSCRIPTION_ID的數據? JSON.parse不起作用。可能是我在總體水平上失去了一些東西。 – pauldx

+0

不需要使用JSON.parse,因爲數據僅作爲解析的JSON來使用。你可以直接訪問這個'res.data [0] .SUBSCRIPTION_ID' –

+0

Thanks @Rohit。這正是我需要的。 – pauldx

0

要調用data出方的範圍。

<script> 
var parsed ; 
var myData; 
$.getJSON("http://example.com/getPortfolioListByContact.json?component=C1&contactId=510297", function(data){ 
myData = data; 
    alert(data.SUBSCRIPTION_ID); 
}); 
parsed = JSON.parse(myData); 
alert(parsed) ; 
</script> 
+0

感謝,但不幸的是拋還是不確定的,只得到一個警示。通過該方式,在腳本調用的頂部添加以下。 pauldx