2014-09-19 2 views
0

У меня проблемы с получением определенной переменной из переменной URL. URL-адрес является:Как получить переменную из JSON Url

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

Я использую следующий код, чтобы получить часть активов из URL:

$(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); 

}); 

Но я абсолютно уверен, как получить AssetId Одер DerivateiveId из моего результата вар.

ответ

0

Во-первых, в вашем URL-запросе ключевое слово «актив», и вы пытаетесь получить стоимость активов.

Тогда, когда вы получите значение актива, это строка, вы можете проанализировать ее на json, используя JSON.parse. Это даст вам массив объектов. Из этого вы можете получить все, что вам нужно.

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

0

проверить How to get the value from URL Parameter?, чтобы получить параметр из URL-адреса. После этого вы можете использовать JSON.parse (param) для разбора этой строки параметров url в json-объекте.

0

URL-адрес, который я получил после использования decodeURIComponent(), отличается от URL-адреса в вашей ссылке. Я не уверен, как изменить его на мои нужды.

Смежные вопросы