Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Jotform:解析返回的数据问题_Php_Json_Jotform - Fatal编程技术网

Php Jotform:解析返回的数据问题

Php Jotform:解析返回的数据问题,php,json,jotform,Php,Json,Jotform,我正在尝试解析JotFormAPI返回的数据 我成功地回显了数据,但也得到了不必要的额外文本行 我的PHP代码是: 包括“JotForm.php” } 下面是我得到的结果: 1 0 0 0 C 0 LeBron 我必须修复无效的json字符串 代码:() 输出: LeBron James 我对jot函数的作用有点模糊,但可能应该是这样的: foreach ($submissions as $data) { $detail = $jotformAPI->getSubmis

我正在尝试解析JotFormAPI返回的数据

我成功地回显了数据,但也得到了不必要的额外文本行

我的PHP代码是:

包括“JotForm.php”

}

下面是我得到的结果:

1
0
0
0
C



0
LeBron

我必须修复无效的json字符串

代码:()

输出:

LeBron James

我对jot函数的作用有点模糊,但可能应该是这样的:

foreach ($submissions as $data) {
    $detail = $jotformAPI->getSubmission($data['id']);
    echo $detail['answers'][1]['answer']['first'] . '<br>';
}
foreach($data形式的提交){
$detail=$jotformAPI->getSubmission($data['id']);
echo$detail['answers'][1]['answer']['first'].
; }
请向我们展示
var\u导出($detail)
乍一看,您似乎正在访问字符串@
$d[1]['answer']
,但
$d[1]['answer']['first']
可能不是字符串。这意味着php试图找到“偏移量”为
first
的字符(字节),但偏移量必须是数字,因此php将
first
转换为
0
,并显示字符串中的第一个字符。。。只是一种预感。也许空白行是PHP出错的地方,在您的错误日志中有错误吗?请总是包括一些示例输入和您从样本数据中得到的确切输出。想要的结果是“勒布朗”对不起,我可以看一下
$submissions
吗?您是否只需要访问第一个子阵列并获得1个值?或者您想从数据中的每个子数组访问
['answer']['first']
值吗?我需要知道所有的响应数据,这样我才能建议最好的方法。是的,每个子阵列。假设$submissions返回20个条目,希望它返回20个姓氏。下一个注释var_转储$detail。我想我在问题中包含了$detail['answer']的var_dump。我必须猜测这是否有效,因为我没有
$submissions
数据进行测试。对于示例输入数据,我可能能够设计出一种更聪明的方法。它在名字后面返回了很多行。下面是$jotformAPI->getSubmission($data['id']){“responseCode”:200,“内容”:[{“id”:“23795508034633702”,“状态”:“活动”,“新建”:“1”,“回答”:{“3”:{“文本”:“名称”,“类型”:“控件全名”,“回答”:{“first”:“Bart”,“last”:“Simpson”},“prettyFormat”:“Bart Simpson”},},},},}如果没有收到有效的json字符串或我请求的
var_导出($submissions)
数据,我就无法开始。请注意,我一直在说“var_导出()。或者,如果提供json字符串,请不要打印,只需将其回显即可。aha.以上实际上是$jotformAPI->getFormSubmissions(“表单ID”);的响应,如他们的API文档中所示:在StackOverflow上发布问题时,提供示例输入以及该输入的确切所需输出非常重要。
$json = '{
"responseCode": 200,
"message": "success",
"content": [{
    "id": "237955080346633702",
    "form_id": "31751954731962",
    "ip": "123.123.123.123",
    "created_at": "2013-06-25 03:38:00",
    "updated_at": "2013-06-27 04:58:00",
    "status": "ACTIVE",
    "new": "1",
    "answers": {
        "1": {
            "text": "Name",
            "type":"control_fullname",
            "answer": {
                "first": "LeBron",
                "last": "James"
            },
            "prettyFormat": "LeBron James"
        },
        "2": {
            "text": "Your Message",
            "type": "control_textarea",
            "answer":"¡Ay, caramba!"
        }
}}]
}';
foreach (json_decode($json, true)['content'] as $set) {
    echo "{$set['answers'][1]['answer']['first']} {$set['answers'][1]['answer']['last']}\n";
}
LeBron James
foreach ($submissions as $data) {
    $detail = $jotformAPI->getSubmission($data['id']);
    echo $detail['answers'][1]['answer']['first'] . '<br>';
}