将.js文件中的数据转换为json

时间:2017-02-23 01:56:35

标签: javascript json

所以我目前正在开发一个涉及引用整个Pokemon pokedex的项目,当我在寻找源代码时,我意识到Pokemon Showdown是开源的,因此,存储库中有一个完整的pokedex。但是,当我打开包含pokedex的文件时,我发现它没有设置为json文件,而是完全不同。

所以,这是我的问题:
1:数据存储的确切内容是什么?一系列物体?
2:我如何将数据转换为JSON或引用它,就像我使用JSON(使用键名)

4 个答案:

答案 0 :(得分:1)

数据是一个JavaScript对象,导出为module以供外部文件使用。你可以做的是使用JSON.stringify将对象转换为JSON字符串。

const battlePokedex = require('data/pokedex.js');
const pokedexInJson = JSON.stringify(battlePokedex);

console.log(`Now it's the JSON representation of the JS object ${ pokedexInJson }`)

答案 1 :(得分:0)

  1. 数据存储为JavaScript对象,关键是每个宠物小精灵的名称
  2. 见下文
  3. 从文件中删除以下代码,并将文件名更改为.json,然后获取JSON数据。

    'use strict';
    
    exports.BattlePokedex = 
    

答案 2 :(得分:0)

这基本上是一个用所有pokedex数据公开对象的模块。您可以导入此模块,它将返回您想要作为对象的数据。这是一个小例子:

var pokedex = require('./pokedex.js'); //Path to file where is the module you want to import

例如,想象一下你想从皮卡丘获得数据:

// pokedex is the module you imported, BattlePokedex is what they exposed 
// in the module, and the pikachu is the object containing the pikachu data
var pikachu = pokedex.BattlePokedex.pikachu;

我希望这会有所帮助,但如果您可以提供更多上下文(例如代码片段),我可以尝试提供更完整的答案。

答案 3 :(得分:0)

想出来,我最终没有将它转换为json,只是将它作为一个对象放在一个单独的文件中。对于将来遇到类似问题的人,请执行以下操作:

如果您的对象位于单独的文件中,请在脚本导入主javascript之前将脚本导入添加到html (它与导入jquery的方式相同)。然后将.exports行更改为变量声明。对我来说,它看起来像这样:

exports.BattlePokedex = {

然后我将其更改为:

var dex = {

要访问不同的变量,我使用了这行代码:

var pokemon = dex[name];