【问题标题】:HTML Table from .json file [closed]来自.json文件的HTML表[关闭]
【发布时间】:2021-04-06 08:28:24
【问题描述】:

所以我对使用 json 文件和一般编码非常陌生。我已经尝试解决这个问题好几个小时了,但我找不到任何解决方案。

我有这个 .json 文件并想从中创建一个 HTML 表格:

{
   "template_commands":{
      "web":[
         "Webadded cmds are working!",
         "Rights['0']"
      ],
      "streamer":[
         "This is only for Streamers!",
         "Rights['3']"
      ],
      "admin":[
         "This is only for Admins!",
         "Rights['2']"
      ],
      "mod":[
         "This is only for mods",
         "Rights['1']"
      ],
      "taka":[
         "I love you",
         "Rights['2']"
      ]
   },
   "doggo_counter":0,
   "admins":{
      "tauru":"name",
      "jutlufa":"name"
   }
}

它应该看起来有点像这样:

cmd_name cmd rights
web Webadded cmds are working! 1

我不需要文件的“doggo_counter”或“admins”部分。只是“template_commands。这种文件甚至可能吗?

【问题讨论】:

  • 你已经尝试了什么?我认为带有json_decode()foreach() 或两个的东西可以做到。请发布您的代码,以便我们帮助您找出错误所在
  • 假设它是可能的。做一些研究并尝试一下。然后,如果您遇到问题,请返回 minimal reproducible example 的努力
  • 请不要在您的问题中编辑解决方案。如果您已经解决了您的问题,您可以发布您的解决方案作为答案。但是,由于您的问题由于缺乏焦点而偏离主题,因此无法发布新的答案。您在下面询问了发布代码的目的是什么:重点是您的问题的焦点足够狭窄,可以在这里成为主题。 “我如何从 JSON 生成表格”不是一个单一的问题,它是一系列你应该尝试解决的问题,如果你遇到困难,然后发布一个特定的问题。第一步是解析 JSON,如果你'被困在那里,问问那个。

标签: javascript php html json


【解决方案1】:
<?php
$objs = json_decode(file_get_contents('data.json'),true);
$commands = $objs['template_commands'];
echo "<table border='1'>"; //table bordered
echo "<tr><th>cmd_name</th><th>cmd</th><th>Rights</th></tr>"; //the header of table
foreach($commands as $cmd_name => $cmds) {
    echo "<tr><td>$cmd_name</td>
    <td>$cmds[0]</td>
    <td>".preg_replace('/[^0-9]+/','', $cmds[1])."</td></tr>";//only digits
}
echo "</table>";
?>

【讨论】:

  • 很高兴您为权利做出了改变。我唯一要提醒的是$cmds[1] 可能是一个数组。这取决于上面的 JSON 以及它是如何出现的。
  • 请不要回答不包含question的问题,而只是要求的列表。你为他们做所有的工作并没有帮助任何人。
  • @meagar 我并不想让任何人为我工作!在过去的 5 个小时里,我一直坐在这里试图弄清楚这一点。当然,我本可以将代码发布到我的问题中,但我什至没有任何工作要做。我将json转换为字符串。这就是我所做的一切,我尝试的其他一切都失败了,可能会造成更多的混乱而不是好的。对不起,如果我冒犯了任何人,或者让我觉得我想让别人做我的肮脏工作,我通常想理解。这就是为什么我问我的 .json 文件是否有可能!
  • @meagar 我已经发布了解决方案以及我在帖子中做错了什么,我不知道你为什么认为给某人几行代码对任何人都没有帮助。如果人们不想学习,他们需要能够剖析和理解 imo 的代码。特别是如果你被一个问题卡住了 5 个小时,而你的大脑被 500 行经过尝试和废弃的代码卡住了。发布这么多失败的尝试是没有好处的。
  • @hppycoder 非常感谢您的帮助!我在问题中发布了您的代码。如果我误解了您的代码,请随时纠正我:)
【解决方案2】:

从今天开始,您可能应该在客户端使用 javascript。

我想到的是使用 Vue、React 或 Angular,但如果你更喜欢 JQuery 类型的开发者,那就是:https://datatables.net/forums/discussion/32107/how-to-load-an-array-of-json-objects-to-datatables

由于您的问题没有显示技术问题,因此我不会详细介绍技术细节。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多