- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-14-2022 10:00 PM
Hi Community,
I have a payload in JSON, I need to convert it to CSV and save it as a attachment in a problem record
var ArrayJson = [
{
"appname":"abcd",
"created_at":705605232,
"credential_id":"3d889-2e18-46b0-951c-8a3133c378",
"expires_in":7200,
"id":"a1863995-53d0-4ee8-b6bb-9f885dab868b",
"scope":"all",
"token_type":"bearer"
},
{
"appname":"abcd",
"created_at":4566789098765412345,
"credential_id":"3d889-2e18-46b0-951c-8a3133c378",
"expires_in":7200,
"id":"a1863995-53d0-4ee8-b6bb-9f885dab868b",
"scope":"all",
"token_type":"bearer"
}
]
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-16-2022 01:58 AM
Thanks for the reply Daniel,
But i found the solution
var attachment = new GlideSysAttachment();
//set up inputs
var rec = new GlideRecord('incident');
rec.get('685994238729c9101bf9ba6f8bbb3582');
var fileName = 'example.csv';
var contentType = 'text/csv';
//var content = 'col1,col2,col3\n1,2,3';
var content = '';
for(var i=0; i<ArrayJson.length; i++){
var Obj = ArrayJson[i];
if(i==0){
var column = [];
for(var key in Obj){
column.push(key.toString());
}
content += column.join() + "\n";
}
var values = [];
for(var key in Obj){
values.push(Obj[key].toString());
}
content += values.join() + "\n";
}
var agr = attachment.write(rec, fileName, contentType, content);
gs.info('The attachment sys_id is: ' + agr);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-14-2022 10:04 PM
this may be able to help you
javascript - How to convert JSON to CSV format and store in a variable - Stack Overflow
found it here: How to convert a JSON response from a Scripted rest api into CSV? - IT Service Management - Question...
please mark helpful or correct 🙂
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-16-2022 01:58 AM
Thanks for the reply Daniel,
But i found the solution
var attachment = new GlideSysAttachment();
//set up inputs
var rec = new GlideRecord('incident');
rec.get('685994238729c9101bf9ba6f8bbb3582');
var fileName = 'example.csv';
var contentType = 'text/csv';
//var content = 'col1,col2,col3\n1,2,3';
var content = '';
for(var i=0; i<ArrayJson.length; i++){
var Obj = ArrayJson[i];
if(i==0){
var column = [];
for(var key in Obj){
column.push(key.toString());
}
content += column.join() + "\n";
}
var values = [];
for(var key in Obj){
values.push(Obj[key].toString());
}
content += values.join() + "\n";
}
var agr = attachment.write(rec, fileName, contentType, content);
gs.info('The attachment sys_id is: ' + agr);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎12-30-2022 05:00 AM
Great.