Unable to fetch the key value for JSON parsed in Javascript getting undefined message

Vineela1
Tera Contributor

Hi Team,

 

Please suggest inputs, I have javascript variable which I made stringify() to convert to javascript string and made JSON.parse() . When I am trying to fetch the key value it is showing undefined message but that value exist in JSON object.

example:

obj = {

   "budget": "value",

   "cost":"value"

}

when I am trying to access budget value. It shows me undefined . Please suggest on this.

 

 

Thanks and Regards,

 

Vineela

1 ACCEPTED SOLUTION

I tried replicating same in my instance and it's a working script unless format of data structure do not changes. Below the screen shots :

kamleshkjmar_2-1666969437777.png

 

 

kamleshkjmar_1-1666969405472.png

 

If this still do not works please share the screen shot of field and value it's storing. Like the one of description I have shown. Most probably then the issue is with the data stored.

 

Regards,

Kamlesh 

View solution in original post

15 REPLIES 15

Murthy Ch
Giga Sage

hi @Vineela1 
Can you try below:

var obj = {
   "budget": "value",
   "cost":"value"
};
var objStr=JSON.stringify(obj);
var objPar=JSON.parse(objStr);
gs.info(objPar.budget + "\n" + objPar.cost);

Hope it helps..

 

Thanks,
Murthy

Hi Murthy,

 

Thanks for the update. But it is still showing as undefined .when trying to check length , it shows as undefined. But when I am trying to print the javascript JSON object , it prints all values correctly.

 

jsonobject{
"budget":"value",
"jobid":"value",
"location":"value",
"plbs":"value"
}

jsonObject[jobid]undefined

jsonObject.[jobid]undefined

 

like If I try to print : "jsonObject.jobid" then output: undefined

jsonObject[jobid] - output : jsonObject[jobid] undefined

 

Regards,

Vineela

Hi @Vineela1,

 

Try this updated scripts or scripts shared by @Murthy Ch. It is correct and working as expected.

 

 

var jsonobject = {
	"budget": "value",
	"jobid": "value",
	"location": "value",
	"plbs": "value"
};

var test = JSON.stringify(jsonobject);
var parsed = JSON.parse(test);

gs.info("budget: " + parsed.budget);
gs.info("jobid: " + parsed.jobid);
gs.info("location: " + parsed.budget);
gs.info("plbs: " + parsed.budget);

 

Thanks,

Sagar Pagar

The world works with ServiceNow

Hi Sagar,

 

same issue I am getting same output : "undefined" for location , jobid and plbs values . Actually I am trying to copy of one variable to another table whose JSON format.

 

 

code:

 

var json_custom_string = JSON.stringify(gr.u_custom_field1.getValue());
gs.log("json string:"+json_custom_string);

var len = json_custom_string.length;

gs.log('length is : ' + len);

var jsonObject = JSON.parse(json_custom_string);
gs.log("jsonobject: "+jsonObject);

gs.info("jsonObject.jobid :"+jsonObject.jobid);
gs.info("jsonObject.location :"+jsonObject.location);
gs.info("jsonObject.plbs :"+jsonObject.plbs);

 

Regards,

Vineela