在bash脚本中用jq替换部分文本



我有一些JSON文件的问题。我有一个旧的API注入一些数据到CKAN。

当我发送JSON文件时,特定字符'rn'使我的API崩溃,并向我发送一个错误&;error JSON:解码JSON数据错误。错误:ValueError('无法解码JSON对象',)">

以下是JSON文件的一部分:

{
"formatVersion": "v002",
"objetsTouristiques": [
{
"metadonnees": [
{
"contenus": [
{
"metadonnee": {
"dateMaj": 1656444611258,
"nombreAvis": 3597,
"couleur": "#71a63e",
"label": "Très bon",
"note": 8.4
},
"cible": "general"
}
],
"noeudId": "fairguest"
}
],
"aspects": [
{
"presentation": {
"descriptifDetaille": {
"libelleFr": "Bureaux d’accueil au rez-de-chaussée et au 4e étage. rn- Hôtesse multilingue. rn- Services spécialisés clientèle internationale (vos clients, si vous en faites la demande, bénéficient entre autres d’une carte d’escompte exceptionnel de 10% u0019personnalisée avec le logo de votre choix, ainsi que des plans de ville, un accueil personnalisé possible, salon VIP, etc…). rn- Détaxe à l’exportation de 12% au-dessus de 175 € dans la journée pour les pays hors de l’Union Européenne, selon la réglementation en vigueur)."
}
},
"champsAspect": [
"presentation.descriptifDetaille"
],
"aspect": "GROUPES"
},

如何用jq将rn改为n ?

谢谢你的帮助

walk(if type == "string" then gsub("rn"; "n") else . end)

walk()替换为每个(嵌套的)值并执行sub(),其中我们将rn替换为n


在线试用

最新更新