javascript - HTML 在代码中获取文本

标签 javascript html node.js

这段代码是我写的:

<input id="input" onchange="parseFile(this.files); load();" type="file"><br>
<code id="output"></code>

函数parseFile() (使用 nodejs 编写)在 <code> 中正确输出标记一些 json 数据。这些信息显示在显示屏上,然后我需要将它们加载到一个数组中。所以我调用函数加载是:

  function load() {

   var dati = document.getElementById('output').innerHTML;
   var myObject = JSON.parse(dati);

   for (var i = 0; i < jsonData.counters.length; i++) {
    var counter = jsonData.counters[i];
    console.log(counter.counter_name);
   }

  }

我该怎么做?我需要创建一个数组,其中包含从 <code> 中写入的 parseFile 函数创建的 json 数据。 .我需要从代码标签中提取数据。似乎如果我改变了 <code>对于输入之类的其他东西,我看不到结果。

因此我需要使用 <code>标签。任何想法?我不是 node 和 javascript 的专家。


JSON 输出示例:

{ "encryptionConstant": 884583747, "dexNo": 143, "heldItemId": 218, "tid": 26197, "sid": 33357, "exp": 65090, "abilityId": 47, "abilityNum": 2, "superTrainingHitsRemaining": 0, "superTrainingBag": 0, "pid": 1664894422, "natureId": 22, "isFatefulEncounter": false, "gender": "M", "formId": 0, "evHp": 0, "evAtk": 22, "evDef": 110, "evSpe": 2, "evSpAtk": 12, "evSpDef": 0, "contestStatCool": 0, "contestStatBeauty": 0, "contestStatCute": 0, "contestStatSmart": 0, "contestStatTough": 0, "contestStatSheen": 0, "hasCircleMarking": false, "hasTriangleMarking": false, "hasSquareMarking": false, "hasHeartMarking": false, "hasStarMarking": false, "hasDiamondMarking": false, "pokerusDuration": 0, "pokerusStrain": 0, "medalData": 0, "ribbonData": 0, "contestMemoryRibbonCount": 0, "battleMemoryRibbonCount": 0, "distributionSuperTrainingFlags": 0, "nickname": "굃㒹", "move1Id": 667, "move2Id": 111, "move3Id": 133, "move4Id": 122, "move1Pp": 10, "move2Pp": 40, "move3Pp": 20, "move4Pp": 30, "move1Ppu": 0, "move2Ppu": 0, "move3Ppu": 0, "move4Ppu": 0, "eggMove1Id": 0, "eggMove2Id": 0, "eggMove3Id": 0, "eggMove4Id": 0, "canDoSecretSuperTraining": false, "ivHp": 5, "ivAtk": 24, "ivDef": 15, "ivSpe": 7, "ivSpAtk": 28, "ivSpDef": 21, "isEgg": false, "isNicknamed": false, "notOt": "굃㒹", "notOtGender": "M", "currentHandlerIsOt": true, "geoLocation1RegionId": 0, "geoLocation1CountryId": 0, "geoLocation2RegionId": 0, "geoLocation2CountryId": 0, "geoLocation3RegionId": 0, "geoLocation3CountryId": 0, "geoLocation4RegionId": 0, "geoLocation4CountryId": 0, "geoLocation5RegionId": 0, "geoLocation5CountryId": 0, "otGender": "M"}

这基本上是一个数据列表,没有嵌套数组。就像:

{
 "id": value, 
 "id2": value2,
 "id3": value3
}

最佳答案

可以在纯js中使用array.push方法

array.push(item1, item2, ..., itemX)

在循环中看起来像这样

function arrayPushTest() {
    var arrayName = [];
    for (var i = 1; i <= 3; i++) {
        arrayName.push(i);
    }
    alert(arrayName);
}

关于javascript - HTML 在代码中获取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45395128/

相关文章:

c# - 如何在客户端系统中加载一次Javascript文件并重复使用它们?

javascript - 如何获取多个选中的复选框值?

javascript - jQuery:如何获取 URL 并修改它?

javascript - 使骰子值附加到动态 javascript 制作的 html 代码

node.js - 使用 JWT 进行 Passport 身份验证 : How can I change passport's default unauthorized response to my custom response?

javascript - 在javascript中链接异步调用的正确方法是什么?

javascript - Bootstrap 选项卡正文被向下推

javascript - API WebExtensions,在浏览器和内容脚本之间通信

php - 如何使用中文版 mPDF

javascript - 从 CSV 动态创建对象