2

我希望使用 jq 自动将包含 json 的任何字段解析为 json,例如:

输入

{
  "guaranteedPrizes": "[]",
}

输出

{
  "guaranteedPrizes": [],
}
4

2 回答 2

2

对于通用解决方案,您可能希望考虑walk/1,并且为了提高效率,请避免fromjson冗余调用:

walk(if type == "string"
     then . as $x | try fromjson catch $x
     else . end)
于 2021-02-08T14:30:04.457 回答
1

如果您想脱离“深层次”并尝试递归评估 fromjson:

def deep:
  walk(if type == "string"          
           then . as $x 
           | try (fromjson | deep)
             catch $x     
           else . end);
deep
于 2021-02-08T14:56:16.310 回答