JSON PHP HTTP POST 请求的数组语法
JSON Array Syntax for PHP HTTP POST Requests
我正在尝试编写一个 PHP 脚本来查询我有权访问的 API。此 API 需要一个 JSON 正文 post 请求,条件之一是
"Analyses": ["Phenotype"]
请注意,该字符串的第二部分没有双引号。当我尝试使用 Httpful 传递下面的这个脚本时,这个脚本给了我一个 HTTP 500 结果。如果没有 Analyses 标准,我会在 JSON 格式输出中得到正确的响应(尽管在询问 Analyses 信息时出错)。我假设这与 Analyses 字符串的 formatting/syntax 有关,我不确定该怎么做。如果我使用单引号,我会得到 500 错误。如果我完全省略引号,它会假定它是一个数组并给我一个对象错误 "Object reference not set to an instance of an object"。我不知道如何在没有引号的情况下传递该格式。
$response = \Httpful\Request::post($url)
->sendsJson()
->body('{"apiUserKey":"abcde",
"apiUserId":"efghi",
"Species":"9606",
"Analyses": "["Phenotype"]"
}')
->send();
谢谢!
您的示例几乎是正确的,但是您将一组双引号包含在多个引号中。您正试图在 "Analysis" 字段中传递一个字符串数组。数组本身不需要用双引号。
$response = \Httpful\Request::post($url)
->sendsJson()
->body('{"apiUserKey":"abcde",
"apiUserId":"efghi",
"Species":"9606",
"Analyses": ["Phenotype"]
}')
->send();
我正在尝试编写一个 PHP 脚本来查询我有权访问的 API。此 API 需要一个 JSON 正文 post 请求,条件之一是
"Analyses": ["Phenotype"]
请注意,该字符串的第二部分没有双引号。当我尝试使用 Httpful 传递下面的这个脚本时,这个脚本给了我一个 HTTP 500 结果。如果没有 Analyses 标准,我会在 JSON 格式输出中得到正确的响应(尽管在询问 Analyses 信息时出错)。我假设这与 Analyses 字符串的 formatting/syntax 有关,我不确定该怎么做。如果我使用单引号,我会得到 500 错误。如果我完全省略引号,它会假定它是一个数组并给我一个对象错误 "Object reference not set to an instance of an object"。我不知道如何在没有引号的情况下传递该格式。
$response = \Httpful\Request::post($url)
->sendsJson()
->body('{"apiUserKey":"abcde",
"apiUserId":"efghi",
"Species":"9606",
"Analyses": "["Phenotype"]"
}')
->send();
谢谢!
您的示例几乎是正确的,但是您将一组双引号包含在多个引号中。您正试图在 "Analysis" 字段中传递一个字符串数组。数组本身不需要用双引号。
$response = \Httpful\Request::post($url)
->sendsJson()
->body('{"apiUserKey":"abcde",
"apiUserId":"efghi",
"Species":"9606",
"Analyses": ["Phenotype"]
}')
->send();