I我有一些数据,这些数据通过一些JSON发送并上传到数据库。 当我尝试将其写入数据库时,该字段为[object Object]。 JSON如下所示::
{
"version":"1.0",
"event":"video_recorded",
"data":{
"videoName":"vsrtc1492808825_223",
"audioCodec":"NellyMoser ASAO",
"videoCodec":"H.264",
"type":"FLV",
"orientation":"landscape",
"id":"315414",
"dateTime":"2017-04-21 14:07:12",
"timeZone":"America/Los_Angeles",
"payload":"{\\\"ip\\\":111.111.111.11, \\\"env\\\": test}",
"httpReferer":"https://app.surveygizmo.com/projects/previewbottom?id=3489282&__sgtarget=3&sLanguage=English&__sg_build_test=1&__sg_collab_test=1&__sg_tester=SW5mb0BNb29uc0FuYWx5dGljcy5jb20%3D&__sg_tester_name=TW9vbnMgQW5hbHl0aWNz&__sg_tester_id=351560&link_id=0&__sg_skip_actions=1&__ignore_entry_logic=1&?preview_frame=true"
}
}
在嵌入代码JavaScript中,我将此变量传递到flashvars中,以将其添加到json中:
var clientIP = '11.11.111.1111';
var payload_data = {"ip":clientIP, "env":"test"};
var flashvars = {qualityurl: "avq/300p.xml",accountHash:"randomstuff", eid:2, showMenu:"true", mrt:120,sis:0,asv:1,mv:0, payload: payload_data};
我尝试在解码整个JSON之后选择正确的密钥:
$data = $_POST['payload'];
$retrieved_data = json_decode($data, true);
$ip_address = $retrieved_data['data']['payload'];
当我将$ ip_address写入数据库时,它返回:
[object Object]
如果我尝试在我的PHP中更深入一点:
$ip_address = $retrieved_data['data']['payload']['ip'];
它将四个条目添加到我的数据库中:
[
]
{
}
记录器的文档https://addpipe.com/docs#sending-custom-data-using-payload-variable说在单引号之间传递自定义JSON:
payload: '{"ip":clientIP, "env":"test"}'
如果我尝试将整个有效负载写入数据库中:
$ip_address = $retrieved_data['data']['payload'];
它将以下内容写入该字段,而不显示clientIP变量的内容:
{\"ip\":clientIP,\"env\":\"test\"}
如果我尝试用这个方法更深入一层:
$ip_address = $retrieved_data['data']['payload']['ip'];
我得到了相同的4项
[
]
{
}
所以我被卡住了,我不知道还能尝试什么。 我正在尝试获取此处的信息:
"payload":"{\\\"ip\\\":111.111.111.11, \\\"env\\\": test}"