Hi
I would suggest searching the forums first. There is a thread for that and an answer by @CraigWeb
@craigweb said in Calling JSON store item in scripting datasource:
Hi @ThomasEinasto
Here is some extracts of a scripting data source I did recently minus the logic I did on the JSON.
var dao = com.serotonin.m2m2.db.dao.JsonDataDao.instance;
var objectMapper = com.serotonin.m2m2.Common.getBean(com.fasterxml.jackson.databind.ObjectMapper.class, "daoObjectMapper");
var jsonDataVo = dao.getByXid('8b203a82-166a-4963-8dc5-17bba149e28b');
var dataAsString = jsonDataVo.jsonData.toString();
var data = JSON.parse(dataAsString);
You can now edit the data object as you would normally in JS
var newJsonData = objectMapper.readTree(JSON.stringify(data));
//If objectmapper is not used before saving, all objects get saved as an array.
jsonDataVo.setJsonData(newJsonData);
dao.save(jsonDataVo)
To save back to the JSON store.