Map the json array in to string field with comma separated value

salu
Mega Guru

Hello,

I want to map the value from the json array to string variable.

[{"number":0,"fields":[{"min":6,"max":10,"label":"","type":"text","value":"111111"}]},{"number":1,"fields":[{"min":6,"max":10,"label":"","type":"text","value":"111111"}]}]

var json_output=this.getParameter('sysparm_json_output');

var parser = new JSONParser();

  var parsedData = parser.parse(json_output);

  var length = parsedData.length; // get length

  for(var i=0;i<length;i++)

  {

  var value1 = parsedData[i].fields[0].value;

  if(value1 != "")

  {

  inc.u_bdc_sku_number=value1.toString();// its not working

  }

  else

  break;

  }

1 ACCEPTED SOLUTION

Gurpreet07
Mega Sage

Following should work fine



var json_output=this.getParameter('sysparm_json_output');



var parser = new JSONParser();


  var parsedData = parser.parse(json_output);



var strValue= '' ;



  var parsedData = parser.parse(json_output);



  var length = parsedData.length; // get length



  for(var i=0;i<length;i++)


  {


  var value1 = parsedData[i].fields[0].value;


  if(value1 != "")


  {


strValue += ','+value1;


  }


  }


strValue = strValue.substring(1);



  inc.u_bdc_sku_number=strValue ;// its not working


View solution in original post

15 REPLIES 15

Hello Ankur,


I want the field like this way



nc.u_bdc_sku_number = 1111313,1323412,31231234;


find_real_file.png


Hi Saranya,



Got it.


Have this code



var json_output=this.getParameter('sysparm_json_output');



var parser = new JSONParser();


  var parsedData = parser.parse(json_output);



var strValue= '' ;



  var parsedData = parser.parse(json_output);



  var length = parsedData.length; // get length



  for(var i=0;i<length;i++)


  {


  var value1 = parsedData[i].fields[0].value;


  if(value1 != "")


  {


strValue = strValue + value1;


  }


  }


inc.u_bdc_sku_number = strValue;


inc.update() // or inc.insert() based on your functionality



This should work and populate the way you want.



Mark Correct if this solves your issue and also hit Like and Helpful if you find my response worthy based on the impact.


Thanks


Ankur


Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 9x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

Hi Saranya,



Yes you need to update the record as well. As instructed by Ankur, add inc.update()       at end of the code.


Thank you very much Gurpreet   and Ankur.It got worked


gurpreet


Hello Gurpreet,


Is there any way to check this value1 is not duplicate value?



I need to validate whether its a 6 to 8 digit number and value are not duplicate.




var json_output=this.getParameter('sysparm_json');


  var parser = new JSONParser();


  var parsedData = parser.parse(json_output);



  var length = parsedData.length; // get length


  var count=0;


  for(var i=0;i<length;i++)


  {


  var value1 = parsedData[i].fields[0].value;


  var value_length=value1.length;




  if((value1==undefined)||(value_length>10 ||value_length<6))


  {



  count=1;


  break;


  }


  else


  {





  count=0;


  }



  }



  if(count==1)


  {


  return true;     //Sending to client


  }


  else


  return false;




  }