The CreatorCon Call for Content is officially open! Get started here.

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