从邮递员那里得到json响应中的密钥值非常简单:
from datetime import datetime
import time
import os
from apscheduler.schedulers.background import BackgroundScheduler
def tick():
print('Tick! The time is: %s' % datetime.now())
if __name__ == '__main__':
scheduler = BackgroundScheduler()
scheduler.add_job(tick, 'interval', seconds=3)
scheduler.start()
print('Press Ctrl+{0} to exit'.format('Break' if os.name == 'nt' else 'C'))
try:
# This is here to simulate application activity (which keeps the main thread alive).
while True:
time.sleep(2)
except (KeyboardInterrupt, SystemExit):
# Not strictly necessary if daemonic mode is enabled but should be done if possible
scheduler.shutdown()
对于JSON响应
pm.test("AddCluster", function () {
var jsonData = pm.response.json();
pm.globals.set("taskIdCluster", jsonData.value);
});
我无法在以下情况下提取json值,其中key具有'。'作为其字符串的一部分。任何人都可以帮助我。
{
"value": "task-1405"
}
我尝试了以下代码:
"result": {
"cluster.moid": "domain-c433242"
}
答案 0 :(得分:1)
可以想出为上述情况提取值,以下代码可以
pm.test("StatusForAddClusterApplyCheck", function () {
var jsonData = pm.response.json();
var result = jsonData.result;
var jsonString = JSON.stringify(result).substring(17,31);
pm.environment.set("clusterMoid", jsonString);
});
但是只有字符串长度是常量。
案例字符串长度的任何其他答案都是动态的吗?
答案 1 :(得分:0)
在javascript中(以及在邮递员中),可以使用'。'访问对象属性。运算符或使用[]的关联数组索引。 JSON对象也是如此。
即。 object.key 等同于 object [“ key”] 。
这应该为您解决问题:
pm.test("AddCluster", function () {
var jsonData = pm.response.json();
pm.globals.set("taskIdCluster", jsonData["cluster.moid"]);
});