Javascript 将.js文件中的数据转换为json
因此,我目前正在进行一个涉及引用整个Pokemon pokedex的项目,当我四处寻找源代码时,我意识到Pokemon摊牌是开源的,因此,存储库中有一个完整的pokedex。但是,当我打开包含的文件时,我发现它并没有设置为json文件,而是完全设置为其他文件 下面是我的问题:Javascript 将.js文件中的数据转换为json,javascript,json,Javascript,Json,因此,我目前正在进行一个涉及引用整个Pokemon pokedex的项目,当我四处寻找源代码时,我意识到Pokemon摊牌是开源的,因此,存储库中有一个完整的pokedex。但是,当我打开包含的文件时,我发现它并没有设置为json文件,而是完全设置为其他文件 下面是我的问题: 1:存储的数据具体是什么?对象数组? 2:如何将数据转换为JSON或像引用JSON一样引用它(使用键名) 数据存储为JavaScript对象,键是每个口袋妖怪的名称 见下文 从文件中删除下面的代码,并将文件名更改为.jso
1:存储的数据具体是什么?对象数组?
2:如何将数据转换为JSON或像引用JSON一样引用它(使用键名)
.json
,您将获得json数据
'use strict';
exports.BattlePokedex =
该数据是一个JavaScript对象,作为外部文件导出以供使用。您可以做的是使用将对象转换为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 }`)
这基本上是一个模块,它公开了一个包含所有pokedex数据的对象。您可以导入此模块,它将返回您想要作为对象的数据。下面是一个小例子:
var pokedex = require('./pokedex.js'); //Path to file where is the module you want to import
例如,假设您希望从Pikachu获取数据:
// 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;
我希望这会有所帮助,但如果您能提供更多的上下文(例如代码片段),我可以尝试给出一个更完整的答案。解决了这个问题,我最终没有将其转换为json,而是将其作为一个对象保留在一个单独的文件中。对于将来有类似问题的用户,只需执行以下操作: 如果对象位于单独的文件中,请在主javascript的脚本导入之前向html添加脚本导入(与导入jquery的方式相同)。然后将
.exports
行更改为变量声明。对我来说,以前是这样的:
exports.BattlePokedex={
然后我把它改成:
var-dex={
为了访问不同的变量,我使用了以下代码行:
var pokemon=dex[name];
在这种情况下,对象的整个JSON/对象被导出到一个变量BattlePokedex
。也许你应该看看并了解导出是如何工作的。所以它被存储为JS对象?哦,在我看来,JSON arrayJS数组就像[{},{},{}]
。这是一个对象{key:{},key:{}
或其他语言意义上的字典。没问题,如果这解决了您的问题,请接受答案。谢谢:我得到了未捕获的引用错误:没有定义require(…)
@jhearst您使用节点模块吗?还有一个问题,您使用的是ecmascript 5还是ecmascript 6?我没有使用节点模块(我计划在github.io上托管该页面)