PHP HTTP POST请求的JSON数组语法

时间:2017-05-29 18:17:31

标签: php json httpful

我试图编写一个PHP脚本来查询我有权访问的API。此API需要JSON正文帖子请求,其中一个标准为

"Analyses": ["Phenotype"]

请注意,该字符串的第二部分周围没有双引号。当我尝试使用Httpful传递此脚本时,此脚本为我提供了HTTP 500结果。如果没有Analyses标准,我会在JSON格式输出中得到正确的响应(尽管请求分析信息时出错)。我认为这与Analyses字符串的格式化/语法有关,我不知道如何处理它。如果我使用单引号,我会得到500错误。如果我完全保留引号,则假定它是一个数组并给我一个对象错误"对象引用未设置为对象的实例"。我不知道如何在没有引号的情况下传递该格式。

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

谢谢!

1 个答案:

答案 0 :(得分:0)

你的例子几乎是正确的,但你要为很多人提供一套双引号。您正试图在"分析"中传递一系列字符串。领域。数组本身不需要双引号。

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