首页 > 解决方案 > 如何将 json 字符串转换为 bash 中的单个字符数组?

问题描述

我有一个 json 字符串,我需要将其转换为数组以传递密码。当前的问题是我需要为许多用户执行此操作

当前的 json 看起来像这样,它是从

[
   {
        "password": "Password1",
        "loginId": "USER1"
   }
]

我需要把它改成这个

[ 
   { 
      "password":[ 
         "P",
         "a",
         "s",
         "s",
         "w",
         "o",
         "r",
         "d",
         "1"
      ],
      "loginId":"USER1"
   }
]

我更喜欢在 bash 中执行此操作,但如果有人有其他选择,我愿意接受任何事情。

标签: arraysjsonbashscripting

解决方案


jq中,用空字符串拆分字符串会产生一个字符数组,就像您需要的那样。

jq '.[].password |= split("")' file

jqplay.org 在线演示


推荐阅读