在Robot框架中编辑JSON文件
我想将在Robot框架中编辑JSON文件,json,robotframework,Json,Robotframework,我想将driver=1添加到我的sample_json.json文件中,但无法找到永久写入这些更改的方法。此代码将键值保存到对象${json_obj},但不会对文件sample_json.json sample_json.json { "Phones": { "debug": "on", "phone1": { "key":"value" }, "phone2": {
driver=1
添加到我的sample_json.json
文件中,但无法找到永久写入这些更改的方法。此代码将键值保存到对象${json_obj}
,但不会对文件sample_json.json
sample_json.json
{
"Phones": {
"debug": "on",
"phone1": {
"key":"value"
},
"phone2": {
"key":"value"
}
}
}
机器人文件
*** Settings ***
Library JSONLibrary
*** Variables ***
${SUBSCRIBER_A} phone1
*** Test Cases ***
testcase
test ${SUBSCRIBER_A}
*** Keywords ***
test
[Arguments] ${SUBSCRIBER_A}
${json_obj}= Load JSON From File sample_json.json
${object_to_add}= Create Dictionary driver=1
${json_obj}= Add Object To Json ${json_obj} $..${SUBSCRIBER_A} ${object_to_add}
看起来你还没有完全理解这个库是如何工作的。当您调用
从文件加载JSON
时,库将读取该文件,并将数据作为内存中的变量返回(在您的例子中,是${JSON_obj}
变量)
现在,无论何时更改这些数据,都只是更改内存中的数据,而不是文件本身
您需要用新数据覆盖文件,这可以通过使用关键字来实现。您可能需要首先使用关键字将JSON字典转换为字符串。看起来您还没有完全理解该库的工作原理。当您调用
从文件加载JSON
时,库将读取该文件,并将数据作为内存中的变量返回(在您的例子中,是${JSON_obj}
变量)
现在,无论何时更改这些数据,都只是更改内存中的数据,而不是文件本身
您需要用新数据覆盖文件,这可以通过使用关键字来实现。您可能需要首先使用关键字将JSON字典转换为字符串。谢谢您的帮助!下面是如何完成的代码。 我使用库
操作系统
来写入对文件的更改,但首先使用了将JSON转换为字符串
关键字
*** Settings ***
Library JSONLibrary
Library OperatingSystem
*** Variables ***
${SUBSCRIBER_A} phone1
*** Test Cases ***
testcase
test ${SUBSCRIBER_A}
*** Keywords ***
test
[Arguments] ${SUBSCRIBER_A}
${json_obj}= Load JSON From File example.json
${object_to_add}= Create Dictionary driver=1
${json_obj}= Add Object To Json ${json_obj} $..${SUBSCRIBER_A} ${object_to_add}
${new_obj}= Convert JSON To String ${json_obj}
Create File example.json ${new_obj} UTF-8
谢谢你们的帮助!下面是如何完成的代码。 我使用库
操作系统
来写入对文件的更改,但首先使用了将JSON转换为字符串
关键字
*** Settings ***
Library JSONLibrary
Library OperatingSystem
*** Variables ***
${SUBSCRIBER_A} phone1
*** Test Cases ***
testcase
test ${SUBSCRIBER_A}
*** Keywords ***
test
[Arguments] ${SUBSCRIBER_A}
${json_obj}= Load JSON From File example.json
${object_to_add}= Create Dictionary driver=1
${json_obj}= Add Object To Json ${json_obj} $..${SUBSCRIBER_A} ${object_to_add}
${new_obj}= Convert JSON To String ${json_obj}
Create File example.json ${new_obj} UTF-8
您似乎没有试图将数据保存回文件。您是否尝试使用保存数据?您似乎没有尝试将数据保存回文件。您是否尝试使用来保存数据?