首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略输出JSON中的隐式数组创建

忽略输出JSON中的隐式数组创建
EN

Stack Overflow用户
提问于 2021-09-22 15:28:33
回答 1查看 51关注 0票数 0

所以目前,如果输入是

代码语言:javascript
复制
{
  "foo": "bar",
  "tuna": "marlin"
}

规范是

代码语言:javascript
复制
[
  {
    "operation": "shift",
    "spec": {
      "foo": "baz",
      "tuna": "baz"
    }
  }
]

输出是

代码语言:javascript
复制
{
  "baz" : [ "bar", "marlin" ]
}

如何不创建数组,而是用数组的最后一个元素重写"baz“键的值?

预期产出

代码语言:javascript
复制
{
  "baz" : "marlin"
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-23 06:59:47

据我所知,您只想得到数组的最后一个元素。因此,在您的操作类型modify-overwrite-betalastElement()函数中再添加一个规范,如

代码语言:javascript
复制
[
  {
    "operation": "shift",
    "spec": {
      "*": "baz"
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "*": "=lastElement(@(1,&))"
    }
  }
]

其中不需要显式地写入shift规范中的每个键,而是用星号替换它们。然后,第二个规范中的星号也表示所有的键(在本例中,这只是baz),并且旁边的符号复制键的名称,以表示相对值。

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

https://stackoverflow.com/questions/69287214

复制
相关文章

相似问题

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