我在某些URL上有一个JSON文件。在我的Jelastic清单中,我想读取它,修改其内容,并将修改后的内容输出到我正在安装/更新的环境中的json中:
jpsVersion: 1.3
jpsType: update
application:
id: json
name: JSON Test
version: 0.0
onInstall:
- script: |
const Transport = com.hivext.api.core.utils.Transport
const body = new Transport().get('url-to-my-jsonfile.json')
// 1. here I want to edit the json data, maybe change some values
// 2. here I want to store the json data in a json file
在上面的清单中,我首先从某个远程端点下载json文件(最有可能是从某些git存储库下载的原始文件)。然后,我想将json加载到javascript对象中,以便操作该对象。例如,我想更改其键之一的值。最后,我想在我的环境中的某个地方输出修改后的json对象,例如在/data/my-output.json
文件中。
我该怎么做?我尝试了一些东西,但似乎没有任何效果。例如,似乎JSON.parse
在此类脚本中不可用。我有什么选择?
当前,我正在做的是使用编写的python脚本来操纵这些数据。我想知道Jelastic API是否有更简单的方法,或者可以从javascript脚本中获得。
答案 0 :(得分:1)
您可以使用预定义的函数 toNative 将json文本转换为java对象:
body = toNative(body)
并且可以通过API jelastic.environment.file.Write
将数据另存为容器中的文件var resp = jelastic.environment.file.Write({
envName: 'myenv',
session: session,
nodeid: 12345,
path: '/home/jelastic/myfile.json',
body: '{a:1}'
})