在JSON对象调用中使用URL参数

时间:2012-12-20 22:07:05

标签: jquery html json

所以,我想获取一个URL参数并将其用作我的Javascript对象的一部分。我无法在对象中附加该变量,我假设我错过了某种连接。在此先感谢您的帮助。

<script>
    var json = {
    'c100': {
    'url': 'https://awesome.com',
    'heading': 'I am awesome',
    'category': 'Awesome Junk'
  },
  'c101': {
    'url': 'https://coolstuff.com',
    'heading': 'How much cool stuff is there?',
    'category': 'Cool Junk n Stuff'
  },
  'c102': {
    'url': 'https://googleorsomething.com',
    'heading': 'Google is neat.',
    'category': 'Neat Junk'
  }
}

function GetURLParameter(sParam){
  var sPageURL = window.location.search.substring(1);
  var sURLVariables = sPageURL.split('&');
  for (var i = 0; i < sURLVariables.length; i++){
    var sParameterName = sURLVariables[i].split('=');
    if (sParameterName[0] == sParam){
      return sParameterName[1];
    };
  };
};

// Set Up The Variables for Concatinating the String
var calcId = GetURLParameter('calc_id');
console.log(calcId);
var jsonObject = 'json.'+calcId+'.url';

$(function() {

  $('#dynamicContent').html(json.calcId.url);

});

1 个答案:

答案 0 :(得分:1)

您可以使用[]访问对象属性。

var calcId = GetURLParameter('calc_id');
var jsonObject = json[calcId]; 

$('#dynamicContent').html(jsonObject.url);

此操作无需连接。