2017-07-29 51 views
0

我使用TradingView部件拉圖表和數據以這種格式編碼:JavaScript的數據轉換成JSON文件

symbols: {   
    Equities: ['H&P', 'Google'], 
}, 
symbols_description: { 
    'H&P': ' BATS:HP ', 
    'Google': 'BATS:GOOG',  
} 

我想要的符號轉換和使用JSON符號描述成動態代碼。我正在努力如何使用json文件而不是硬編碼。提前致謝。整個小部件的代碼是:在步驟

new TradingView.MiniWidget({ 
    container_id: 'tv-miniwidget-2', tabs: ['Equities'], 
    symbols: {   
     Equities: ['H&P', 'Google'], 
    }, 
    symbols_description: { 
     'H&P': ' BATS:HP ', 
     'Google': 'BATS:GOOG', 
    }, 
    width: 240, 
    large_chart_url: 'http://www.futuresmag.com/page/interactive-charts', 
    gridLineColor: "#e9e9ea", 
    fontColor: "#83888D", 
    underLineColor: "#dbeffb", 
    trendLineColor: "#4bafe9",     
    height: 400, 
    locale: "en" 
    }); 
+0

你想從JSON文件數據或本JSON是已經在您的代碼中可用? – Nitesh

+0

我可以創建json文件,只是不知道如何使用它。它實際上不一定是json,我自己創建文件,因此它可以是任何格式。 – 2pourdrummer

回答

0

生成數據,而不是一次全部

let options = { 
    container_id: 'tv-miniwidget-2', tabs: ['Equities'], 
    width: 240, 
    large_chart_url: 'http://www.futuresmag.com/page/interactive-charts', 
    gridLineColor: "#e9e9ea", 
    fontColor: "#83888D", 
    underLineColor: "#dbeffb", 
    trendLineColor: "#4bafe9",     
    height: 400, 
    locale: "en" 
} 
// data format 
let jsonData = { 
    symbols: {   
    Equities: ['H&P', 'Google'], 
    }, 
    symbols_description: { 
    'H&P': ' BATS:HP ', 
    'Google': 'BATS:GOOG',  
    } 
} // get data from server through ajax request or whatever you need 
options.symbols = jsonData.symbols 
options.symbols_description = jsonData.symbols_description 

new TradingView.MiniWidget(options) 
+0

什麼樣的json格式需要看起來像? – 2pourdrummer

+0

在給定的情況下,它需要有符號和symbols_description鍵,所以你的問題在第一個代碼字段中的格式 – insider

+0

我試圖使用這個,但它不工作:符號:{'H&P','谷歌 '], }, symbols_description:{ 'H&P':' BATS:惠普, '谷歌': 'BATS:GOOG', } – 2pourdrummer

0

要加載json文件在瀏覽器中,你通常採取以下步驟:

  1. 撥打電話到您的json文件
  2. 解析json文件一旦收到
  3. 做一些與文件的內容,一旦它的解析

下面是如何做一些演示代碼,而無需使用任何庫:

var getJSON = function(url, successHandler, errorHandler) { 
    // 1. Make an Ajax call to your json file 
    var xhr = new XMLHttpRequest(); 
    xhr.open('get', url, true); 
    xhr.onreadystatechange = function() { 
     var status, data; 
     if (xhr.readyState == 4) { 
      status = xhr.status; 
      if (status == 200) { 
       // 2. Parse the json file once it's been received 
       data = JSON.parse(xhr.responseText); 
       successHandler && successHandler(data); 
      } else { 
       errorHandler && errorHandler(status); 
      } 
     } 
    }; 
    xhr.send(); 
}; 

getJSON('widgetdata.json', function(data) { 
    // 3. Do something with the content of the file once it's parsed 
    var tradingView = new TradingView.MiniWidget(data); 
}, function(status) { 
    // Error handling goes here 
});