首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jolt转换JSON文件并进行数据充实和删除

Jolt转换JSON文件并进行数据充实和删除
EN

Stack Overflow用户
提问于 2022-01-31 15:13:46
回答 1查看 61关注 0票数 1

我需要帮助,我是新来的。有一个json文件:

代码语言:javascript
运行
复制
{
  "Date": "2021-01-01",
  "Status": "New",
  "Agreements": [
    {
      "ID_agreement": "12345",
      "ID": "fffffff",
      "balance": {
        "rub": 5,
        "usd": 6,
        "eur": 7
      },
      "withdrawal": {
        "rub": 8,
        "usd": 45,
        "eur": 6
      }
    },
    {
      "ID_agreement": "6789",
      "ID": "dddddd",
      "balance": {
        "rub": 10,
        "usd": 20,
        "eur": 30
      }
    }
  ]
}

在输出时,您确实需要得到这样的信息:

代码语言:javascript
运行
复制
{
  "type": "DATA",
  "date": "2021-01-01",
  "id_agreement": "12345",
  "id": "fffffff",
  "source": "SITE",
  "unloadDateTime": "current date if possible",
  "balance": {
    "rub": 5,
    "usd": 6,
    "eur": 7
  },
  "withdrawal": {
    "rub": 8,
    "usd": 45,
    "eur": 6
  }
},
{
  "type": "DATA",
  "date": "2021-01-01",
  "id_agreement": "6789",
  "id": "dddddd",
  "source": "SITE",
  "unloadDateTime": "current date if possible",
  "balance": {
    "rub": 10,
    "usd": 20,
    "eur": 30
}

必须将以下内容添加到每个块:

代码语言:javascript
运行
复制
  "type": "DATA",
  "date": "2021-01-01",
  "source": "SITE",
  "unloadDateTime": "current date if possible"

和删除

代码语言:javascript
运行
复制
"Status": "New"

原始文件很大,字段提取/余额在某个地方,而不是

我最初的颠簸规范:

代码语言:javascript
运行
复制
[
  {
    "operation": "remove",
    "spec": {
      "Status": ""
    }
  },
  {
    "operation": "shift",
    "spec": {
      "Agreements": {
        "*": "&"
      },
      "balance": {
        "*": "&"
      }
    }
  }
 ]

几个小时的拆解并没有导致任何事情,任务是一次性的,敬请各位同事帮忙!

EN

回答 1

Stack Overflow用户

发布于 2022-01-31 15:50:54

首先,位于底部的对象balance是冗余的。删除后,应用#表示法来提供您想要更新当前shift转换的固定值,如

代码语言:javascript
运行
复制
[
  {
    "operation": "remove",
    "spec": {
      "Status": ""
    }
  },
  {
    "operation": "shift",
    "spec": {
      "Agreements": {
        "*": {
          "#DATA": "[&1].type",
          "#2021-01-01": "[&1].date",
          "#SITE": "[&1].source",
          "#current date if possible": "[&1].unloadDateTime",
          "*": {
            "@": "[&2].&1"
          }
        }
      }
    }
  }
 ]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70928284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档