Je travaille avec l'API pour récupérer et stocker des informations. Actuellement, notre configuration est conçue pour utiliser des chameaux au lieu de traits de soulignement. J'utilise jq
pour traiter nos informations, mais je suis curieux de savoir comment je peux utiliser la fonction sub(regex, tostring)
pour remplacer les traits de soulignement dans mon JSON avec camelCase?Remplacement des traits de soulignement dans JSON à l'aide de JQ
Voici un exemple du code
"line_items": [
{
"id": xxxx,
"name": "xxxx",
"sku": "xxxx",
"product_id": xxxx,
}
Par exemple, selon une autre réponse sur de sorte que je trouve, cela fonctionne: curl https://www.testsite.com/wp-json/wc/v1/orders -u user:pass | jq '.[] | with_entries(if .key | contains("_") then .key |= sub("_";"") else . end)'
et supprimer les underscores.
Le résultat est:
"lineitems": [
{
"id": xxxx,
"name": "xxxx",
"sku": "xxxx",
"productid": xxxx,
}
Cependant, lorsque je tente curl https://www.testsite.com/wp-json/wc/v1/orders -u user:pass | jq '.[] | with_entries(if .key | contains("_") then .key |= sub("(\\_)([a-z])";"$2\u") else . end)'
je ne reçois pas les résultats que je voudrais attendre.
Les résultats attendus seraient:
"lineItems": [
{
"id": xxxx,
"name": "xxxx",
"sku": "xxxx",
"productId": xxxx,
}
Je n'ai pas beaucoup d'expérience à l'aide jq
donc je ne suis pas sûr de ce que je fais mal. Y a-t-il une meilleure solution à ce problème?