首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能在有条件的情况下将json对象转换为数组?

是否有可能在有条件的情况下将json对象转换为数组?
EN

Stack Overflow用户
提问于 2022-10-19 04:57:23
回答 1查看 34关注 0票数 2

我需要将我的json对象封装到json数组中,如果输入已经是一个数组,则保持原样。有可能发生那样的震动吗?谢谢你的帮助。

设想1:

输入

代码语言:javascript
复制
{
  "primary": 5,
  "quality": 4,
  "design": 5
}

输出

代码语言:javascript
复制
[
  {
    "primary": 5,
    "quality": 4,
    "design": 5
  }
]

设想2:

输入

代码语言:javascript
复制
[
  {
    "primary": 5,
    "quality": 4,
    "design": 5
  },
  {
    "primary": 5,
    "quality": 4,
    "design": 5
  }
]

输出

代码语言:javascript
复制
[
  {
    "primary": 5,
    "quality": 4,
    "design": 5
  },
  {
    "primary": 5,
    "quality": 4,
    "design": 5
  }
]

谢谢马亨德拉

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-19 06:54:01

您可以使用以下方法确定值(val),方法是将树的叶(最内部)级别移走。

代码语言:javascript
复制
"*": {
       "*": "val"
     }

是否返回空,以便将输入按深度分隔,同时通过以下方法保留原始输入值

代码语言:javascript
复制
"@": "input"

然后将值null默认为"0",以便能够在下一个转换规范的条件中使用,例如

代码语言:javascript
复制
[
  {
    "operation": "shift",
    "spec": {
      "@": "input",
      "*": {
        "*": "val"
      }
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "val": ["=toString", ""],
      "val1": "=size(@(1,val))",
      "val2": "=toString(@(1,val1))"
    }
  },
  {
    "operation": "shift",
    "spec": {
      "val2": {
        "0": {
          "@(2,input)": "[]"
        },
        "*": {
          "@(2,input)": ""
        }
      }
    }
  }
]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74120067

复制
相关文章

相似问题

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