繁体   English   中英

解析/解码响应(Json格式?)-PHP Curl

[英]Parse/Decode response (Json format?) - PHP Curl

我正在使用PHP Curl将html表单数据推送到创建记录的CRM(Zoho)。

创建记录后的响应(回显$ response;):

*记录添加成功* 3442526000000497019 * 2018-09-04 11:32:312018-09-04 11:32:31 *

我想解析/解码此响应($ response),以提取record-Id( 3442526000000497019 )。

在CRM API SDK中,它说了一些关于json格式的响应的信息。

因此,我尝试使用json_decode fucntion解码响应:

var_dump(json_decode($responser));
var_dump(json_decode($responser, true));

但是,这将返回NULL(如果无法解码json或编码数据比递归限制更深,则返回NULL。),而不是数组。

我会感激任何指向正确方向的提示,暗示和指点。 我是否必须以其他方式对其进行解码?

我的脚本的以下摘录显示了表单数据是如何插入的(作为XML数据通过php Curl发送到CRM):

<?php

$xml =  "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
    <Leads>
        <row no=\"1\">
            <FL val=\"Uhrzeit\">".$uhrzeit."</FL>       
            <FL val=\"Datum\">".$datum."</FL>
            <FL val=\"First Name\">'Mad'</FL>
            <FL val=\"Last Name\">'Dog'</FL>
            <FL val=\"Phone\">".$phone."</FL>
            <FL val=\"Email\">".$email."</FL>
            <FL val=\"Zip Code\">".$postcode."</FL>
            <FL val=\"fuerwen\">".$fuerwen."</FL>
            <FL val=\"pflegegrad\">".$pflegegrad."</FL>
            <FL val=\"mobilitaet\">".$mobilitaet."</FL>
            <FL val=\"sprache\">".$sprache."</FL>
            <FL val=\"betreuungsbeginn\">".$zeitpunkt."</FL>
        </row>
    </Leads>";
$auth="fewfwefwe";
    $url ="https://crm.zoho.com/crm/private/xml/Leads/insertRecords";
    $query="authtoken=".$auth."&scope=crmapi&newFormat=1&xmlData=".$xml;
    $ch = curl_init();
    /* set url to send post request */
    curl_setopt($ch, CURLOPT_URL, $url);
    /* allow redirects */
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    /* return a response into a variable */
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    /* times out after 30s */
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    /* set POST method */
    curl_setopt($ch, CURLOPT_POST, 1);
    /* add POST fields parameters */
    curl_setopt($ch, CURLOPT_POSTFIELDS, $query);// Set the request as a POST FIELD for curl.

    //Execute cUrl session
    $responser = curl_exec($ch);
    curl_close($ch);
    echo $responser;

    var_dump(json_decode($responser));
    var_dump(json_decode($responser, true));

亲切的问候莱昂诺尔

CRM API SDK的实现是为了处理ZOHO CRM API版本2,您引用的代码称为API版本1。

您正在发布到XML API,因此,您应该期望收到XML响应。

如果您想获得JSON响应,请考虑将API URL中的XML部分更改为JSON,如下所示: https : //crm.zoho.com/crm/private/json/Leads/insertRecords ,它应该接受完全相同的参数作为XML API。

这是一个示例响应:

{"response":{"result":{"recorddetail":{"FL":[{"val":"Id","content":"3442526888888888888"},{"val":"Created Time","content":"2018-09-11 14:21:31"},{"val":"Modified Time","content":"2018-09-11 14:21:31"},{"val":"Created By","content":"Jon Deo"},{"val":"Modified By","content":"Jon Deo"}]},"message":"Record(s) added successfully"},"uri":"/crm/private/json/Leads/insertRecords"}}

请考虑从您的问题中删除authtoken,因为它现在是公开的!

暂无
暂无

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

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