0

我很困惑,在互联网上找不到任何关于它的信息。我也不确定如何描述我正在寻找的东西,所以也许有人可以帮助我。

我有一些代码可以使用 PS 中的 invoke-restmethod 通过 API 在 TopDesk 中创建票证。对于 TopDesk 中的请求字段,我需要将一些输出存储在一个变量中,但是如果我想在 PS 命令中使用一个变量,我需要使用@{} | covertTo-JSON(在互联网上的某个地方找到)来定义 JSON 主体。

现在我需要传递的这个参数,必须有一个定义。我需要提供的值是电子邮件或姓名。

$json = @{
    "callerLookup" = "{ email : email@domain.com }"
} | Convertto-JSON

现在的问题是,TopDesk 并不认为"{ email : email@domain.com }"是正确的值。

之前,我只是以下(这将工作,但不能使用变量): $body = '{"email": "automation@rid-utrecht.nl"}'

我希望我足够清楚地描述了我的问题,并希望有人可以帮助我。

提前致谢。

亲切的问候,

达米安

4

1 回答 1

1

For ConvertTo-Json to produce the serialized { "property" : "value" } syntax, you must pass it an object that has a property called property and an associated value equal to value. You can easily create this scenario with the [pscustomobject] accelerator.

$json = @{
    callerLookup = [pscustomobject]@{email = 'email@domain.com'}
} |  ConvertTo-Json
于 2021-08-03T13:03:40.237 回答