【问题标题】:Create a object from a nested json从嵌套的 json 创建一个对象
【发布时间】:2018-12-29 17:38:03
【问题描述】:

我有以下 json 从我的服务器以角度接收,我想从这个 Json 创建一个自定义对象

{
    "showsHall": [
        {
            "movies": [
                "5b428ceb9d5b8e4228d14225",
                "5b428d229d5b8e4228d14226",
            ],
            "shows": [
                "5b428d6b9d5b8e4228d14229",
                "5b428ef69d5b8e4228d1422a",
            ],
            "_id": "5b428d439d5b8e4228d14228",
            "hallName": "Small hall",
            "rows": 10,
            "seats": 40,
        }
    ],
    "movie": [
        {
            "showsHalls": [
                "5b428d439d5b8e4228d14228",
                "5b43490592bd380e30fef376"
            ],
            "shows": [
                "5b428d6b9d5b8e4228d14229",
                "5b466d9d75a55841c48bacfc"
            ],
            "_id": "5b428ceb9d5b8e4228d14225",
            "movieName": "Moonwalker - Michael jackson",
            "directorName": "Jerry Kramer, Colin Chilvers",
            "movieDescription": "Anthology movie by, and starring, Michael 
             Jackson in his prime, combining a number of...",
        }
    ],
    "takenSeats": [],
    "_id": "5b428d6b9d5b8e4228d14229",
    "showDate": "7/10/2018",
    "showStartTime": "4:00 PM",
    "showEndTime": "6:00 PM",
}

我想要得到的结果应该是:

{       
        "hallName": "Small hall",
        "movieName": "Moonwalker - Michael jackson" 
        "takenSeats": [],
        "_id": "5b428d6b9d5b8e4228d14229",
        "showDate": "7/10/2018",
        "showStartTime": "4:00 PM",
        "showEndTime": "6:00 PM",
}

任何帮助将不胜感激,谢谢

【问题讨论】:

  • 你试过写一些代码吗?
  • 是的,我正在循环将它扔到带有 *ngFor 的 html 模板中但我想在 TS 文件中创建对象

标签: javascript json typescript


【解决方案1】:

假设您的原始对象名为source,您可以按如下方式组装新对象:

 const newObject = {       
    "hallName": source.showsHall[0].hallName,
    "movieName": source.movie[0].movieName,
    "takenSeats": source.takenSeats,
    "_id": source._id,
    "showDate": source.showDate,
    "showStartTime": source.showStartTime,
    "showEndTime": source.showEndTime
}

// have a look at it
console.log(newObject);

【讨论】:

  • 给你。应该这样做。
  • 非常感谢,我不明白为什么人们对我的问题投了反对票。
  • 不客气。 - 如果没有代码可以显示您自己尝试过的内容,大多数人都会被否决。我同意这种观点,但在一定的复杂性限度内。但在你的情况下,我实际上赞成你的帖子,因为从我的角度来看,给你这个小提示并帮助你习惯处理 JSON 对象完全没有害处。祝你的项目好运。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-02
  • 2016-10-16
  • 1970-01-01
  • 2020-12-21
  • 1970-01-01
  • 2017-02-14
  • 2017-12-22
相关资源
最近更新 更多