2017-07-29 53 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 
});