Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

212
Vistas
Split and Join with Variable in Javascript

I have the ff. JSON payload of an Array

  {
    "Meta": {
        "LastAvailableDateTime": "",
        "FirstAvailableDateTime": "",
        "TotalPages": 1,
        "Count": 2
    },
    "Links": {
        "Next": null,
        "Previous": null,
        "Self": ""
    },
    "Data": {
        "Transactions": [
            {
                "AuthCode": "175601",
                "CardId": "************8104"
            },
            {
                "AuthCode": "783453",
                "CardId": "************8104"
            },
           {

                "AuthCode": "12132",
                "CardId": "************8104"
            }
        ]
    }
}

And I want to override this payload by renaming CardId to MaskedCardId and adding a new param named CardId with an actual Card id.

My code is the ff. below

var json = //The Parsed JSON Payload;
var CardId = "123458104"

json = JSON.parse(
       JSON.stringify(json).split('"CardId":')
           .join('"CardId":CardId,"MaskedCardId":')
);

I could already replace the CardId with the renamed parameter named MaskedCardId. with the ff. code

 json = JSON.parse(JSON.stringify(json).split('"CardId":').join('"MaskedCardId":'));

But whenever I try to add a new parameter named CardId with a variable value, it is giving an error of.

failed with error: Javascript runtime error: "SyntaxError: Unexpected token: C

How do I make this line of code work with my intended purpose?. TIA

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Remember the Old value

const data = {
  "AuthCode": "1",
  "PostingDate": "2021-05-06",
  "Amount": "6000.28",
  "CardId": "************8104",
};

const CardIdNew = "123458104";
const CardIdOld = data.CardId;

data.CardId       = CardIdNew;
data.MaskedCardId = CardIdOld;

console.log(data);

Or to put it simpler:

const data = {
  "AuthCode": "1",
  "PostingDate": "2021-05-06",
  "Amount": "6000.28",
  "CardId": "************8104",
};

data.MaskedCardId = data.CardId;   // Add 
data.CardId       = "123458104";   // Override 

console.log(data);

ADDENDUM after the Question edit

Loop the Array containing the Transactions:

const json = {"Meta":{"LastAvailableDateTime":"","FirstAvailableDateTime":"","TotalPages":1,"Count":2},"Links":{"Next":null,"Previous":null,"Self":""},"Data":{"Transactions":[{"AuthCode":"175601","CardId":"************8104"},{"AuthCode":"783453","CardId":"************8104"},{"AuthCode":"12132","CardId":"************8104"}]}};

const CardId = "123458104"

json.Data.Transactions.forEach(ob => {
  ob.MaskedCardId = ob.CardId;
  ob.CardId = CardId;
});

console.log(json);

about 4 years ago · Juan Pablo Isaza Denunciar

0

I guess this should work. The join must be like this .join('"CardId":"' + CardId + '", "MaskedCardId":') since you are adding a string variable into the object, don´t forget to put the "' + CardId + '":

var json = //The Parsed JSON Payload;
var CardId = "123458104"

json = JSON.parse(
       JSON.stringify(json).split('"CardId":')
           .join('"CardId":"' + CardId + '", "MaskedCardId":')
);

Try it here

var json = {
  someId: 10,
  somekey: "somevalue",
  cards: [
     {
      CardId: "*********67",
      otherkey: "othervalue"
     },
     {
      CardId: "*********67",
      otherkey: "othervalue"
     }
  ]
}
var CardId = "123458104"

json = JSON.parse(
       JSON.stringify(json).split('"CardId":')
           .join('"CardId":"' + CardId + '", "MaskedCardId":')
);

console.log(json);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Split and join are for strings; manipulate the JSON as an object instead.

json.MaskedCardId = json.CardId;
json.CardId = CardId;
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda