我正在尝试使用 JOLT 转换 JSON。此 JSON 由嵌套数组组成,我无法获得正确的转换。
这是原始的JSON。请注意,总会有一个带有单个对象的“结果”数组。此对象将始终包含一个“行”数组。我想要行数组中每个元素的字段。
{
"results": [
{
"total_rows": 1390,
"offset": 0,
"rows": [
{
"id": "00407a53-5f45-11e9-8b9c-84cc507154b4",
"key": "weather",
"value": {
"_id": "00407a53-5f45-11e9-8b9c-84cc507154b4",
"_rev": "1-e996404ab9445c8ff753d45f61b5dc16",
"deviceType": "home-iot",
"deviceId": "12345",
"eventType": "weather",
"format": "json",
"timestamp": "2019-04-15T06:09:17.311Z",
"data": {
"temperature": 44,
"humidity": 75
}
}
},
{
"id": "00901ed4-5f44-11e9-94a1-84cc507154b4",
"key": "weather",
"value": {
"_id": "00901ed4-5f44-11e9-94a1-84cc507154b4",
"_rev": "1-519c4edaeb15ed2ca102d4aabe4a0339",
"deviceType": "home-iot",
"deviceId": "12345",
"eventType": "weather",
"format": "json",
"timestamp": "2019-04-15T06:02:08.337Z",
"data": {
"temperature": -7,
"humidity": 49
}
}
}
]
}
]
}
这是我写的规范:
[
{
"operation": "shift",
"spec": {
"results": {
"*": {
"rows": {
"*": {
"value": {
"deviceId": "[&4].deviceId",
"deviceType": "[&4].deviceType",
"eventType": "[&4].eventType",
"timestamp": "[&4].timestamp",
"data": {
"*": "[&5].&"
}
}
}
}
}
}
}
}
]
预期的 JSON 是:
[{
"deviceId": "12345",
"deviceType": "home-iot",
"eventType": "weather",
"timestamp": "2019-04-15T06:09:17.311Z",
"temperature": 44,
"humidity": 75
}, {
"deviceId": "12345",
"deviceType": "home-iot",
"eventType": "weather",
"timestamp": "2019-04-15T06:02:08.337Z",
"temperature": -7,
"humidity": 49
}]
然而,我的规范返回以下输出:
[ {
"deviceId" : [ "12345", "12345" ],
"deviceType" : [ "home-iot", "home-iot" ],
"eventType" : [ "weather", "weather" ],
"timestamp" : [ "2019-04-15T06:09:17.311Z", "2019-04-15T06:02:08.337Z" ],
"temperature" : [ 44, -7 ],
"humidity" : [ 75, 49 ]
} ]
水平可能有问题。但是我想不出来。有人能帮忙吗?
您正在使用顶级数组索引
[
{
"operation": "shift",
"spec": {
"results": {
"*": {
"rows": {
"*": {
"value": {
"deviceId": "[&2].deviceId",
"deviceType": "[&2].deviceType",
"eventType": "[&2].eventType",
"timestamp": "[&2].timestamp",
"data": {
"*": "[&3].&"
}
}
}
}
}
}
}
}
]
我正在尝试使用JOLT转换JSON。这个JSON由嵌套数组组成,我不能正确地转换它。有人能帮忙吗?谢了。 这是我写的规范。 我期待的JSON是: 然而,我得到了错误的输出。不知怎的,我的嵌套对象正在转换为列表。 我不知道出了什么问题。有人能帮忙吗?
我正在尝试编写一个规范来使用jolt转换进行以下转换。我只对更改json中键的名称感兴趣,值应该保持不变。帮帮我。 输入Json: 预期输出:
我有json,其中包括多个产品,每个产品有多个不同的细节。使用jolt,我只需要输入json中的几个字段,遵循与输入json几乎相同的结构。我成功地迭代了产品,但是当我试图迭代每个产品变体时,我没有得到想要的输出。 输入. json 这里是Spec.json 我想要的预期输出。 我现在得到的实际输出。
我正在努力实现以下转变。然而,我的解决方案在最终数组中添加了不需要的空值。 转换需要为所有元素在array中移位名称。我创建了3个案例来说明这个问题。 编辑:< code >根数组将始终至少有1个元素。 当前的JOLT规范工作正常,除了是空数组的情况。它生成值,我试图指定一个空字符串(或任何硬编码的字符串值,如)
我试图根据第二个嵌套数组中的值的数量将嵌套数组转换为对象。我似乎无法获取值字段的数量并将其用作规范中的键。现在这是我的输入JSON文件: 这是我想要的JSON输出: 这是我目前的规格 有人有类似的情况吗?
如何使用jolt转换将平面JSON转换为嵌套JSON?我对JSON和jolt是新手。 输入: 预期输出: 编辑:我想在< code>SubFunds中添加一个新字段,但是新字段不在JSON文件中,它是计算字段,我可以按原样添加示例吗 并重命名字段: