Robotframework:如何创建包含列表的 json

Robotframework: how to create json that include list

我在以下环境使用机器人框架。

我想创建包含列表的 json。 但是按照脚本,Json.dumps 将部分解释为字符串。

*** Settings ***
Library    Collections
Library    json
Library    String

*** Variables ***
${NAME}    XXXX
${ID}    YYYY
${PART_1}    ZZZ1
${PART_2}    ZZZ2

*** Test Cases ***
Test Create Json
    ${req_dict}    Create Dictionary    name=${NAME}    id=${ID}    part=[${PART_1},${PART_2}]
    Log To Console    *** Test Create Json Result ***
    Log To Console    ${req_json}

*** Keywords ***
Prepare Json Keyword
    [Arguments]    @{args}
    ${req_dict}    Create Dictionary
    :FOR     ${pair}    IN     @{args}
    \     ${key}    ${value}=     Split String    ${pair}    =
    \     Set To Dictionary    ${req_dict}    ${key}=${value}
    ${req_json}    Json.Dumps    ${req_dict}
    [Return]    ${req_json}

这种情况下,机器人显示

{"part": "[ZZZ1,ZZZ2]", "name": "XXXX", "id": "YYYY"}

但我想创建 json 如下所示。

{"part": ["ZZZ1","ZZZ2"], "name": "XXXX", "id": "YYYY"}

要解释列表,我该如何更改它?

你不想实现这个目标吗?:

*** Settings ***
Library    json

*** Variables ***
${NAME}    XXXX
${ID}    YYYY
${PART_1}    ZZZ1
${PART_2}    ZZZ2
@{parts}    ${PART_1}    ${PART_2}

*** Test Cases ***
Test Create Json
    ${req_dict}    Create Dictionary    name=${NAME}    id=${ID}    part=@{parts}
    Log To Console    \n*** DICTIONARY ***
    Log To Console    ${req_dict}
    ${req_json}    Json.Dumps    ${req_dict}
    Log To Console    *** JSON ***
    Log To Console    ${req_json}