2014-09-19 214 views
0

從URL變量中獲取某個變量時遇到問題。 網址是:如何從JSON URL中獲取變量

.com/?asset=[{"AssetId":524,"DerivativeDefinitionId":6,"DerivativeId":816,"FileSizeInBytes":57131}] 

我用下面的代碼來獲取資產部分從網址:

$(document).ready(function(){ 
    function getUrlVars() 
    { 
     var vars = [], hash; 
     var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
     for(var i = 0; i < hashes.length; i++) 
     { 
      hash = hashes[i].split('='); 
      vars.push(hash[0]); 
      vars[hash[0]] = hash[1]; 
     } 
     return vars; 
    } 
    var decodedUrl = decodeURIComponent(getUrlVars()['assets']); 
    result = $.param(decodedUrl, true); 

    console.log(result); 

}); 

,但我完全不知道該如何從我的結果VAR得到AssetId奧德DerivateiveId

回答

0

首先,在你的網址中,查詢字符串是「資產」,你試圖獲得資產的價值。

然後,當你獲得資產的價值是一個字符串,你可以使用JSON.parse解析爲json。這會給你一個對象的數組。從那裏你可以獲取你需要的任何東西。

var decodedUrl = decodeURIComponent(getUrlVars()['asset']); 
    var result = JSON.parse(decodedUrl); 
    console.log('AssetId==>'+result[0].AssetId); 
    console.log('DerivativeId==>'+result[0].DerivativeId); 

這裏是工作example

+0

是的!非常感謝@SSA - 就是這樣! – jensfichtel 2014-09-19 09:13:50

0

使用decodeURIComponent()後得到的URL與鏈接中的URL不同。 我不確定如何修改它以滿足我的需求。