0

我正在尝试编写一个 PHP 脚本来查询我有权访问的 API。此 API 需要 JSON 正文发布请求,条件之一是

"Analyses": ["Phenotype"]

请注意,该字符串的第二部分周围没有双引号。当我尝试使用 Httpful 传递下面的这个脚本时,这个脚本给了我一个 HTTP 500 结果。如果没有分析条件,我会在 JSON 格式输出中得到正确的响应(尽管要求分析信息时出现错误)。我认为这与分析字符串的格式/语法有关,我不确定该怎么做。如果我使用单引号,我会收到 500 错误。如果我完全忽略引号,它会假定它是一个数组并给我一个对象错误“对象引用未设置为对象的实例”。我不知道如何在没有引号的情况下传递该格式。

$response = \Httpful\Request::post($url)
        ->sendsJson()
        ->body('{"apiUserKey":"abcde",
                "apiUserId":"efghi",
                "Species":"9606",
                "Analyses": "["Phenotype"]"
                 }')
        ->send();

谢谢!

4

1 回答 1

0

您的示例几乎是正确的,但是您将一组双引号包含在内。您正试图在“分析”字段中传递一个字符串数组。数组本身不需要用双引号。

$response = \Httpful\Request::post($url)
    ->sendsJson()
    ->body('{"apiUserKey":"abcde",
            "apiUserId":"efghi",
            "Species":"9606",
            "Analyses": ["Phenotype"]
             }')
    ->send();
于 2017-05-29T18:26:36.237 回答