gpt4 book ai didi

json - 去掉 awk 或 sed 中的空格、尾随、下一行

转载 作者:行者123 更新时间:2023-12-04 22:42:35 27 4
gpt4 key购买 nike

我有一个 JSON 输出,我想稍微修改一下:

JSON={"type":"global", "elements":[
{"type":"car","model":"bmw", "elements":[
{"type":"door", "number":"3"},
{...},
{...}]
}]
}

我需要将所有内容放在一行中:
 JSON={"type":"global","elements":[{"type":"car","model":"bmw","elements":[{"type":"door","number":"3"},{...},{...}]}]}

我试过这个:
 JSON=`echo "${JSON}" | nawk  'sub(" *","",$0)'`

和这个:
 JSON=`echo "${JSON}" | sed  's/^[ \n\t]*//;s/[ \n\t]*$//'`

但这些都没有帮助我,因为结果是:
 JSON={"type":"global", "elements":[      <--- the remaining space between key-value groups were also supposed to disappear, but they don't
{"type":"car","model":"bmw", "elements":[
{"type":"door", "number":"3"},
{...},
{...}]
}]
}

如果有人能帮助告诉我如何摆脱键值组之间的空格,我将不胜感激。

最佳答案

我好像有点晚了。

好吧,就其值(value)而言,使用纯文本工具处理 JSON 与使用纯文本工具处理 XML 一样危险。例如,在这种特殊情况下,当您的 JSON 字符串包含空格时,您可能会遇到问题。

因此,我建议使用 JSON 处理工具,例如 jq :

JSON=$(echo "$JSON" | jq -c .)
jq正确解析 JSON 并注意保留其含义,因此这样可以保证输出与输入具有相同的含义。

关于json - 去掉 awk 或 sed 中的空格、尾随、下一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32456129/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com