Très nouveau sur coffeescript, je suis curling l'API de ServiceNow pour obtenir des informations et le retourner à un chat. Je suis aux prises avec l'analyse de la réponse JSON mais comme il revient indéfini, pas sûr de ce qui se passe:JSON.parse (stdout) de curl dans coffeescript donnant undefined
snurl = '"https://companyname.service-now.com/api/now/table/incident?sysparm_query=number%3D' + snincmagic + '&sysparm_fields=number%2Csys_id&sysparm_limit=10"'
snpayload = '--request GET -H "Content-Type: application/json" --header "Accept: application/json" ' + " --user 'username':'password'"
tixcurlhack = require "child_process"
tixcurlhack.exec "/usr/bin/curl #{snpayload} #{snurl}", (error, stdout, stderr) ->
if error
msg.send "Error: #{error.code} - #{stderr}"
else
jsonresponsedata = JSON.parse(stdout)
incidentnumber = jsonresponsedata.result.number
incidentsysid = jsonresponsedata.result.sys_id
mais même si stdout contient le JSON, incidentsysid revient comme indéfini:
msg.send "stdout is: " + stdout
msg.send "jsonresponsedata is: " + jsonresponsedata
msg.send "incidentsysid is: " + incidentsysid
> incidentsysid is: undefined.
> jsonresponsedata is: [object Object]
> stdout is: {"result":[{"number":"INC0010689","sys_id":"acb09c8fdb65324063447aecbf96192a"}]}
Y at-il quelque chose d'évident que je devrais faire ici pour obtenir result.number et result.sys_id dans leurs variables?
C'était exactement ce dont nous avions besoin, merci! Je viens d'en apprendre plus sur la syntaxe; le dernier json que je analysais n'avait pas de crochets, donc il ne contenait aucun tableau. Celui-ci doit être accessible via l'index du tableau ... _Square brackets hold arrays_ –