繁体   English   中英

PHP HTTP POST请求的JSON数组语法

[英]JSON Array Syntax for PHP HTTP POST Requests

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

"Analyses": ["Phenotype"]

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

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

谢谢!

您的例子几乎是正确的,但是您要在一组引号中使用双引号。 您正在尝试在“分析”字段中传递字符串数组。 数组本身不需要用双引号引起来。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM