当前位置: 首页 > 知识库问答 >
问题:

Jolt转换-不能将json数组转换为具有指定键/值对的对象的元素

濮君植
2023-03-14

我试图将JSON数组转换为具有指定键/值对的元素是对象

{
  "Resource": "sorPersonRole",
  "Roleid": "1",
  "Timestamp": "2010-06-30 00:00:00.0",
  "Release": "Public",
  "DOB": "2064-09-05",
  "Active": "Y",
  "enterprise_id": "a12s33",
  "Inactive_enterprise_id": "",
  "emp_ID": "123456",
  "Inactive_emp_id": "000821972",
  "Username": "",
  "A_ID": "fsgf1234jhgfs3",
  "P_ID": "w123456",
  "Is Email Valid": "Y",
  "Flag": "N",
  "Registered": "spring",
  "Description": "mainland corp",
  "End Date": null
}
{
  "meta" : {
    "Resource" : "sorPersonRole",
    "Roleid" : "1",
    "Timestamp" : "2010-06-30 00:00:00.0",
    "Release" : "Public",
    "Sorid" : "w123456"
  },
  "sorAttributes" : {
    "DOB" : "2064-09-05",
    "Active" : "Y",
    "End Date" : null,
    "identifiers":
    [
        {
          "type" : "enterprise" 
          "enterprise_id" : "a12s33",
          "Username" : ""
        },
        {
          "type" : "former-enterprise"
          "Inactive_enterprise_id" : ""
        },
        {
          "type" : "UID"
          "emp_ID" : "123456",
          "Inactive_emp_id" : "000821972"
        },
        {
          "type" : "National"
          "A_ID" : "fsgf1234jhgfs3"
        }
    ],
    "mainLand:com:adhoc" : {
      "Is Email Valid" : "Y",
      "Flag" : "N",
      "Registered" : "spring",
      "Description" : "mainland corp"
    }
  }
}
[
  {
    "operation": "shift",
    "spec": {
      "Resource": "meta.&",
      "P_ID": "meta.Sorid",
      "Roleid": "meta.&",
      "Timestamp": "meta.&",
      "Release": "meta.&",
      "enterprise_id": "sorAttributes.Identifiers.type.enterprise.&",
      "Inactive_enterprise_id": "sorAttributes.Identifiers.type.former-enterprise.&",
      "emp_ID": "sorAttributes.Identifiers.type.UID.&",
      "Inactive_emp_id": "sorAttributes.Identifiers.type.UID.&",
      "Username": "sorAttributes.Identifiers.type.enterprise.&",
      "A_ID": "sorAttributes.Identifiers.type.National.&",
      "Is Email Valid": "sorAttributes.mainLand:com:adhoc.&",
      "Flag": "sorAttributes.mainLand:com:adhoc.&",
      "Registered": "sorAttributes.mainLand:com:adhoc.&",
      "Description": "sorAttributes.mainLand:com:adhoc.&",
      "*": "sorAttributes.&"
    }
    }

]

共有1个答案

张啸
2023-03-14

这能帮上忙,

对于要移位到标识符数组中的节点,请再移位一级。

[
  {
    "operation": "shift",
    "spec": {
      "Resource": "meta.&",
      "Roleid": "meta.&",
      "Timestamp": "meta.&",
      "Release": "meta.&",
      "P_ID": "meta.Sorid",
      "DOB": "sorAttributes.&",
      "Active": "sorAttributes.&",
      "End Date": "sorAttributes.&",
      "Is Email Valid": "sorAttributes.mainLand:com:adhoc.&",
      "Flag": "sorAttributes.mainLand:com:adhoc.&",
      "Registered": "sorAttributes.mainLand:com:adhoc.&",
      "Description": "sorAttributes.mainLand:com:adhoc.&",
      "enterprise_id": {
        "#enterprise": "sorAttributes.identifiers[#2].type",
        "@": "sorAttributes.identifiers[#2].&",
        "@(1,Username)": "sorAttributes.identifiers[#2].Username"
      },
      "Inactive_enterprise_id": {
        "#former-enterprise": "sorAttributes.identifiers[#2].type",
        "@": "sorAttributes.identifiers[#2].&"
      },
      "Inactive_emp_id": {
        "#UID": "sorAttributes.identifiers[#2].type",
        "@": "sorAttributes.identifiers[#2].&",
        "@(1,emp_ID)": "sorAttributes.identifiers[#2].emp_ID"
      },
      "A_ID": {
        "#National": "sorAttributes.identifiers[#2].type",
        "@": "sorAttributes.identifiers[#2].&"
      }
    }
  }, {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": "=recursivelySquashNulls"
    }
}
]
 类似资料:
  • 问题内容: 我想将对象数组转换为javascript中具有键值对的对象。 我如何将其转换为诸如 我希望大多数浏览器都支持它。 问题答案: 您可以使用和传播语法来创建具有给定对象数组的单个对象。

  • Jolt对我来说是新的,我一直在与这个问题作斗争,直到我创建这篇文章。 我想把这个: 进入这个 每个属性的值可以是1值,也可以是未知数量值的数组。 我将以下json更改为第一个json中的内容: RHS上的属性名称是通用的,属性值的数量也可能不同。提前感谢您抽出时间来帮助我。

  • 问题内容: 我有一个从包含重复密钥的数据库中获取的JSON字符串。我想通过将重复键的值组合到数组中来删除重复键。 例如 输入项 输出量 实际数据是一个可能嵌套的大文件。我不会提前知道有多少对。 我需要为此使用Java。org.json由于重复的键而引发异常,gson可以解析该字符串,但是每个重复的键都会覆盖最后一个。我需要保留所有数据。 如果可能的话,我想不编辑任何库代码就这样做 问题答案: 从今

  • 我只想扁平化嵌套JSON的属性,但仍然适用于输入数组中的所有对象 很难将这三个字段放在一个规范中(类型字段、geo字段、properties字段)。我编写了规范来单独完成每一个操作,但是当我将这些规范组合在一个对象中使用时,它会产生错误的输出--对象数组真的把它搞砸了。 期望输出:

  • 问题内容: 我有一个像这样的对象作为服务器的JSON响应返回: 我想将其转换为如下所示的JavaScript数组: 有没有最好的方法来做到这一点?无论我在哪里阅读,人们都在使用复杂的循环逻辑。那么有替代方法可以做到这一点吗? 问题答案: jQuery实际上非常简单 小提琴 在没有jQuery的情况下几乎一样容易,将键转换为数组,然后使用 小提琴 假设它已经被解析为javascript对象,并且实际

  • 如何获取groovy映射的键/值对值并循环到groovyJSON数组元素中?。 例如: 输入: def childmap = ["data1": "123 "," data2": "234 "," data3": "456"] def儿童地图2=["data4":"123","data5":"234","data6":"456","date7":"676"] def父母地图=["Key1":"Va