0
votes

Format de tableau de karaté JavaScript

Voici mon JavaScript qui prépare JSON que je vais utiliser pour correspondre à une réponse API xxx pré>

lorsque j'imprime cela vient comme suit: P>

[
  {
    "sku_code": "50",
    "quantityNO": 2,
    "min": 550,
    "max": 13000,
    "dtePrice": [
      {
        "date": "2019-04-11",
        "listPrice": 6600,
        "salePrice": 3870
      },
      {
        "date": "2019-04-12",
        "listPrice": 6600,
        "salePrice": 3870
      }
    ]
  }
]


5 commentaires

Squarray est un tableau. Comment devient-il un objet?


Il devient objet dans l'outil de karaté


Oh, ça ne te dérange pas alors


Pouvez-vous m'aider à le réparer?


Je pense que c'est à cause de cette question que @ptrthomas mentionné dans ce fil Stackoverflow.com/q/54256534/8615449 . mais pas sûr.


3 Réponses :


-1
votes

Je ne sais pas sur Karaté JS. Mais si Karaté JS convertit votre matrice en objet, vous pouvez reconvertir au tableau. Comme vous pouvez le constater que l'objet résultant est un tableau qui peut facilement être converti en matrice en utilisant la méthode «Array.From (QueryObject)». Modification: -

var squArray = []
for(j=loopincri ; j<(loopincri+skuCount); j++){
        var skuJson = {"skuCode":skuCodes[j],
                       "quantity":quantity};
        squArray.push(skuJson);
    }
let squArray = Array.from(squArray);


0 commentaires

0
votes

Oui, il y a un problème avec des tableaux si vous faites trop dans JS: https://stackoverflow.com/a/54256766/ 143475 - donc si vous faites karate.read () pour créer les morceaux de JSON, il devrait commencer à fonctionner.

Ma recommandation évite d'utiliser JS aussi loin que possible, essayez de Utilisez des natifs de karaté pour la boucle et la transformation, etc. Par exemple: xxx

oui, en utilisant lis () est une légère inconvénient, mais notez que vous pouvez Utilisez des expressions incorporées dans un fichier JSON. Cela sera corrigé dans une future version du karaté.


1 commentaires

Quel est le contenu de Array.json ici?



0
votes

Cela pourrait être de contournement pour surmonter que JDK Bug discuté dans https://stackoverflow.com/a/54256766/8615449

au lieu de retourner votre objet directement, Essayez, P>

* json myJson = JsFunction()


5 commentaires

J'ai essayé ceci, il le convertit en tableau mais il ajoute "/" dans mes valeurs, la sortie devient donc "[\" skucode \ ": \" 58 \ ", \" Quantité \ ": 2}, {\" Skucode \ ": \" 60 \ ", \" Quantité \ ": 2}]"}] "


Je suis désolé que votre question et l'exemple ne suffisent pas à reproduire cela.


GR8, voudriez-vous mettre à jour votre réponse ici afin qu'il soit utile pour les personnes qui se réfèrent à ce post


J'ai utilisé json.stringify () pour le convertir en chaîne puis je suis retourné ceci à la variable JSON


frais. Mais soyez conseillé que json.stringify () dans karate ne fonctionne que lorsque vous avez un élément de données JavaScript pur.