【问题标题】:Nested JSON from a input form来自输入表单的嵌套 JSON
【发布时间】:2019-03-21 20:57:19
【问题描述】:

我已经四处寻找了很长一段时间,但我似乎无法找到一种方法来最好地从各种客户端输入字段创建嵌套 JSON。

我想创建的最终 JSON 应该如下所示:

  {
  "DiaryEntry": [
    {
      "Date": "2019.xx.01",
      "Time": "14:00",
      "ThingsDone": [
        {
          "Activity": "Walking",
          "Duration": "1h"
        }
      ]
    },
    {
      "Date": "2019.xx.02",
      "Time": "19:00",
      "ThingsDone": [
        {
          "Activity": "rolling",
          "Duration": "24h"
        }
      ]
    }
  ]
}

(这个 JSON 可能有错误,但我希望它是可以理解的)。 理想情况下,如果有人可以给我一些关于如何通过 UI 管理至少一个嵌套级别的指示,该用户可以在表单中输入信息并且最终会变成这样的 JSON。我正在这样做,因此它似乎是管理信息并让用户拥有尽可能多的动态生成输入字段的最简单方法(例如,他可以进行 100 个“ThingsDone”输入)

接受其他建议或指点!

【问题讨论】:

  • 我正在这样做...... - 那到底是什么?您需要提供您的代码和示例。您需要做的就是从输入中获取值并创建一个对象?
  • 欢迎来到 Stack Overflow。请花一些时间完成tour 并在发布前阅读帮助主题How to ask a good question。好的问题通常有Minimal, Complete, and Verifiable example。此外,StackOverflow 有一个 help center 包含大量信息。谢谢
  • @Ray 这是一个非常通用的问题。我们不会为您编写代码。我们只检查已经制作的代码中的问题并告诉您问题出在哪里。请(更)具体。

标签: javascript arrays json multidimensional-array


【解决方案1】:

如果你想用 javascript 来做,这里有一个方法。

var activities = []

var activity = {}
activity.date = "03-21-2019"
activity.time = "14:30"
var task = {}
task.activity = "Walking"
task.duration = "2h"
var tasks = []
tasks.push(task)
activity.thingsDone = tasks

activities.push(activity)

activity = {}
activity.date = "03-21-2019"
activity.time = "14:30"
task = {}
task.activity = "Walking"
task.duration = "2h"
tasks = []
tasks.push(task)
activity.thingsDone = tasks

activities.push(activity)

var jsonObj = {}
jsonObj.diaryEntry = activities;

console.log(jsonObj)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-07
    • 2018-10-30
    • 2015-08-26
    • 2016-03-21
    • 2020-07-22
    • 2019-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多