json 将ADO的YAML中的字符串传递给python脚本

6ojccjat  于 2023-08-08  发布在  Python
关注(0)|答案(1)|浏览(170)

所以我尝试为ADO管道编写一个yaml,因此它使用ADO语法。但不知何故,在这个过程中,有些人“迷路了,我不知道为什么。下面是我的yaml文件:

parameters:
  - name: dictionary
    type: string
    default: '{\"PartitionKey\": \"test\", \"RowKey\":\"test1\"}'

steps:
- script: |
    echo ${{ parameters.dictionary }}
- task: PythonScript@0
  inputs:
    scriptSource: 'filePath'
    scriptPath: path/table.py
    arguments: --output_parameters ${{ parameters.dictionary }}

字符串
echo ${{ parameters.dictionary }}的输出为{"PartitionKey": "test", "RowKey":"test1"}
在我的python脚本中,print(args.output_parameters)的输出是{\PartitionKey": "test", "RowKey":"test1"}
错误消息如下,因为我试图获取字典(my_entity= json.loads(args.output_parameters)):

json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)


那么,为什么在第一个键“PartitionKey”前面有一个\而不是一个“,即使它似乎对所有其他键值对都很好?

iqjalb3h

iqjalb3h1#

this answer可以帮助:
单引号允许您将几乎任何字符放入字符串中,并且不会尝试解析转义码。'\n'将作为字符串返回\n

相关问题