2015-02-03 3 views
1

JSON 파일을로드 할 수 있도록 JSON.parse를 사용할 수 있도록 계산하는 중입니다. 몇 시간 동안 갇혀 있었지만 비슷한 질문을했지만 도와주지 않았고 나는 체크 아웃했다. 여기JSON 파일을로드하는 중

$.getJSON() 여기 내 자바 스크립트

function JSONFile(){ 

    var obj = JSON.parse("JSON.json"); 
    var Subbackground = obj.Subbackground; 
    var ButtonBG = obj.ButtonBG; 
    var ButtonHov = obj.ButtonHov; 
    var textColor = obj.textColor; 
    var BorderSubColor = obj.BorderSubColor; 
    var ButtonShadow = obj.ButtonShadow; 
    var ButtonBShawdow = obj.ButtonBShawdow; 
    var BorderMain = obj.BorderMain; 
    var Sub1 = obj.Sub1; 
    var Sub2 = obj.Sub2; 
    var Sub3 = obj.Sub3; 
    var Sub4 = obj.Sub4; 
    var Sub5 = obj.Sub5; 
    var Sub6 = obj.Sub6; 
    var Sub7 = obj.Sub7; 
    var Sub8 = obj.Sub8; 
    var Sub9 = obj.Sub9; 
    var Sub10 = obj.Sub10; 
    var Steak = obj.Steak; 
    var Pizza = obj.Pizza; 
    var Berger = obj.Berger;  
    var Lobster = obj.Lobster; 
    var Chicken = obj.Chicken; 
    var Shrimp = obj.Shrimp; 
    var BLT = obj.BLT; 
    var Salmon = obj.Salmon; 
    var CatFish = obj.CatFish; 
    var Crab = obj.CatFish; 

    $('.myButton').css({'box-shadow': '0px 10px 0px ' + ButtonBShawdow , 'background': 'linear-gradient(' + ButtonBG.direction + ', ' + ButtonBG.Color1 + ', ' + ButtonBG.Color2 + ')', 'border-radius': '28px', 'border': '1px solid' + BorderMain , 'display': 'inline-block', 'color': textColor, 'font-family': 'channel', 'width': '220px', 'font-size': '10px', 'padding': '16px 31px', 'text-decoration': 'none', 'text-shadow': '1px 4px 0px' + ButtonShadow}); 
} 
JSONFile(); 

이고 나의 JSON입니다

{ 

    "Subbackground":{"direction": "to bottom", "Color1": " #a90329 0%", "Color2": "#8f0222 44%", "Color3": "#6d0019 100%"}, 
    "ButtonBG": {"direction":"to bottom", "Color1": "#216332 5%", "Color2": "#5cbf2a 100%"}, 
    "ButtonHov": {"direction":"to bottom", "Color1": "#5cbf2a 5%", "Color2": "#216332 100%"}, 
    "textColor":"#ffffff", 
    "BorderSubColor":"#a90329", 
    "ButtonShadow":"#2f6627", 
    "ButtonBShawdow":"#3dc21b", 
    "BorderMain":"#18ab29", 
    "Sub1":"steaknshake", "urlPath1":"http://www.steaknshake.com/", 
    "Sub2":"steaknshake", "urlPath2":"http://www.steaknshake.com/", 
    "Sub3":"steaknshake", "urlPath3":"http://www.steaknshake.com/", 
    "Sub4":"steaknshake", "urlPath4":"http://www.steaknshake.com/", 
    "Sub5":"steaknshake", "urlPath5":"http://www.steaknshake.com/", 
    "Sub6":"steaknshake", "urlPath6":"http://www.steaknshake.com/", 
    "Sub7":"steaknshake", "urlPath7":"http://www.steaknshake.com/", 
    "Sub8":"steaknshake", "urlPath8":"http://www.steaknshake.com/", 
    "Sub9":"steaknshake", "urlPath9":"http://www.steaknshake.com/", 
    "Sub10":"steaknshake", "urlPath10":"http://www.steaknshake.com/", 
    "Pizza":"steaknshake", "urlPathP":"http://www.steaknshake.com/", 
    "Berger":"steaknshake", "urlPathB":"http://www.steaknshake.com/", 
    "Lobster":"steaknshake", "urlPathL":"http://www.steaknshake.com/", 
    "Chicken":"steaknshake", "urlPathCN":"http://www.steaknshake.com/", 
    "Shrimp":"steaknshake", "urlPathSP":"http://www.steaknshake.com/", 
    "BLT":"steaknshake", "urlPathB":"http://www.steaknshake.com/", 
    "Salmon":"steaknshake", "urlPathSN":"http://www.steaknshake.com/", 
    "CatFish":"steaknshake", "urlPathCF":"http://www.steaknshake.com/", 
    "Steak":"steaknshake", "urlPathSK":"http://www.steaknshake.com/", 
    "Crab":"steaknshake", "urlPathCB":"http://www.steaknshake.com/" 
} 
+0

어떤 특정 문제가 있습니까? – fancyPants

+0

JSON.parse는 문자열이 아닌 파일을 가져옵니다. 그래서 파일을 먼저로드 한 다음 JSON.parse를 사용하여 올바르게 이해해야합니다. – ArsenicStealth

+1

@ArsenicStealth 정확히 맞습니다. 네이티브'XMLHttpRequest' 또는 jQuery의'$ .ajax' 또는 변형 메소드 중 하나를 사용하여 파일의 내용을 얻으려면 AJAX 요청을해야합니다. 로컬 파일 시스템에서 작업하는 경우에는 작동하지 않음을 유의하십시오. 웹 서버에 대해 작업해야합니다. –

답변

1

위에서 언급 한 바와 같이, 당신은 너무 예를 들어처럼 하나가, ajax 호출하여 JQuery와 함께 그것을 달성 할 수

$.ajax({ 
    type: 'GET', 
    url: 'http://example/functions.aspx', 
    data: { get_param: 'value' }, 
    dataType:'json', 
    success: function (data) { 
      var names = data 
      $('#aDiv').html(data); 
    } 
    }); 

또는 parseJSON과 같은 것을

var json = $.parseJSON(j); 
    $(json).each(function(i,val){ 
     $.each(val,function(k,v){ 
       console.log(k+" : "+ v);  
    }); 
    }); 
관련 문제