【问题标题】:Convert JSON object转换 JSON 对象
【发布时间】:2018-03-15 07:36:31
【问题描述】:

我需要将 JSON 对象转换成不同的格式。 我的 JSON 看起来像这样 -

{
  "approver": [ 
    {
      "roleId": "New Approver",
      "level": "1",
      "firstName": "Alan"
    },
    {
      "roleId": "New Approver",
      "level": "2",
      "firstName": "Alex"
    },
    {
      "roleId": "New Approver",
      "level": "1",
      "firstName": "Mike"
    },
    {
      "roleId": "USFA",
      "level": "1",
      "firstName": "Matt"
    },
    {
      "roleId": "USFA",
      "level": "1",
      "firstName": "John"
    }
  ]
}

预期输出:

  Output = [
   { roleName : "New Approver", 
     levels : [ 
      { level : "1", 
        users : ["alan", "mike"] }, 
     { level : "2", 
       users : ["alex"] }
    ] }, 
  { roleName : "USFA", 
    levels : [ 
    { level : "1", 
      users : ["matt", "john"] 
    }] 
}]

我尝试过使用 reduce 函数,但它没有给我预期的结果。谁能帮我转换对象?

谢谢

【问题讨论】:

  • 您的输出不需要是Marketrole 对象的数组吗?您的输入有多个 roleId 值,因此它不能映射到单个 Marketrole 并且问题没有意义。
  • 有人为你做你的工作是一个很大的要求。
  • 您能否在问题中包含完整的预期结果?你有什么问题要解决自己的询问?
  • 是的,Marketrole 是一个角色 ID 数组。
  • 请在问题本身中发布您的预期输出。在 cmets 中根本不可读。

标签: javascript angularjs json reduce


【解决方案1】:

试试 Array.from(JSON_object_here)

【讨论】:

  • 感谢您的回复。我能够使用 reduce 和 map 函数来做到这一点。
  • @user2924113 您能否发布您的 map 和 reduce 函数作为此帖子的答案,以便未来的读者也可以从中受益?
猜你喜欢
  • 1970-01-01
  • 2020-09-29
  • 2017-06-16
  • 2016-04-24
  • 2015-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-20
相关资源
最近更新 更多