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

将数组值抖动到对象

钮誉
2023-03-14

我正在尝试使用jolt将数组值作为字符串转换为对象。当我将数组值转换为String时,我无法在对象中获得正确的值。

输入Json:

  "id": [
    "123",
    "245"
  ],
  "lastName": [
    "john",
    "Mary"
  ],
  "firstName": [
    "doe",
    "Ann"
  ],
  "subjects": [
    [
      "['Maths']",
      "['Science']",
      "['English']"
    ],
    [
      "['English']",
      "['Accounts']",
      "['Art']"
    ]
  ]
}

Jolt规格:

[{
  "operation": "shift",
  "spec": {
    "*": {
      "*": {
        "*": {
          "$": "[&2].&3"
        }
      }
    }
  }
}]

预期输出 :

[ {
  "id" : "123",
  "lastName" : "john",
  "firstName" : "doe",
  "subjects" : [ ["['Maths']","['Science']","['English']"] ]
}, {
  "id" : "245",
  "lastName" : "Mary",
  "firstName" : "Ann",
  "subjects" : [ ["['English']","['Accounts']","['Art']"] ]
} ]

实际产出:

[ {
  "id" : "123",
  "lastName" : "john",
  "firstName" : "doe",
  "subjects" : [ "0", "1", "2" ]
}, {
  "id" : "245",
  "lastName" : "Mary",
  "firstName" : "Ann",
  "subjects" : [ "0", "1", "2" ]
} ]

请帮忙。提前谢谢。

共有1个答案

田嘉澍
2023-03-14

检查这是否解决了它。认为您在主题数组中缺少一个级别:

[{
  "operation": "shift",
  "spec": {
    "*": {
      "*": {
        "*": {
          "$": "[&2].&3"
        }
      }
    },
    "subjects": {
      "*": {
        "*": {
          "*": {
            "$": "[&3].&4"
          }
        }
      }
    }
  }
}]

干杯

 类似资料:
  • 使用一个函数将数组的值映射到对象,其键值对中,原始值作为键,映射值作为值。 使用一个匿名的内部函数作用域来声明一个 undefined 的内存空间,使用闭包来存储返回值。 使用一个新的 Array 来存储带有函数映射的数组和一个逗号运算符来返回第二个步骤,而不需要从一个上下文移动到另一个上下文(由于闭包和操作顺序)。 const mapObject = (arr, fn) => (a => (

  • 我在Jolt转换中有一个JSON对象数组的数组,但我需要将对象向上移动到顶层数组。我尝试添加另一个Shift,但这只是将对象移到相同的位置,或者将两个子对象的值放入一个值数组中。

  • 我有这样的数据响应 然后我想把颜色推到物品里面 预期:每个索引项有三(3)个变量 我尝试使用push和concat,但出现错误“无法读取未定义的属性“数据” 这是我的密码

  • 空心我有一些问题和小问题我有3个输入字段我需要在单击时从中获取值将它们分配给对象并将该对象推入数组有人可以帮助我说在哪里查找信息我正在MDN上搜索,但我找不到正确的主题,示例1)将值输入到对象,然后将该对象推入数组 使用html和javascript链接到JSFIDLE

  • 我有一个类似这样的数组: 我想要一个如下所示的结果对象: 我如何在Javascript中实现这一点?

  • 问题内容: 我需要一些有关将值添加到数组中的帮助 例如 当我这样做时,我用值实例化一个数组 但是如果我有另一个值我该如何附加到上面的数组 使它像这样 我尝试了System.arraycopy函数,但是我只能覆盖该数组,当我尝试追加到该数组时,出现空指针异常 谢谢 解 我将它与for循环一起使用,一次将值放入一次 问题答案: 您不能将元素“追加”到Java中的数组。数组的长度是在创建时确定的,不能动