我有从外部系统接收post json对象的脚本。 它应该接收以下的json对象:
{"data":[{"BegRecNbr": 81, "RecFrag": [{"Fields": {"mA": [1406.205078125, 1914.948486328125], "mB": [1769.690673828125, 1816.0640869140625, 1692.6290283203125, 744.02020263671875]}, "RecNbr": 81, "TimeOfRec": [731495520, 0]}], "TableNbr": 3}, {"BegRecNbr": 82, "RecFrag": [{"Fields": {"mA": [1406.19384765625, 1915.2742919921875], "mB": [1768.99462890625, 1815.36767578125, 1692.615478515625, 744.01434326171875]}, "RecNbr": 82, "TimeOfRec": [731496480, 0]}], "TableNbr": 3, "NbrOfRecs": 1}]}
我无法触摸外部系统,因此我只能在处理之前登录文件对象帖子。
我尝试使用CI中的log_message来记录文件,仅用于调试
log_message('debug','values json1: '.$_POST);
$log_my_post = var_export($_POST, TRUE);
$log_my_post = str_replace(array("\r","\n"," "), '', $log_my_post);
log_message('debug','values json2: '.$log_my_post);
在日志文件中,我只能看到
DEBUG - 2013-07-22 16:01:28 --> values json1: Array
DEBUG - 2013-07-22 16:01:28 --> values json2: array()
如何从外部系统查看发送到我脚本的数组的详细信息 这样我就可以验证发送的正确消息了吗?
感谢您的帮助。
问候
答案 0 :(得分:0)
尝试使用
log_message('debug','values json2: '.json_encode($log_my_post));
答案 1 :(得分:0)
这有效:
$string='{"data":[{"BegRecNbr": 81, "RecFrag": [{"Fields": {"mA": [1406.205078125, 1914.948486328125], "mB": [1769.690673828125, 1816.0640869140625, 1692.6290283203125, 744.02020263671875]}, "RecNbr": 81, "TimeOfRec": [731495520, 0]}], "TableNbr": 3}, {"BegRecNbr": 82, "RecFrag": [{"Fields": {"mA": [1406.19384765625, 1915.2742919921875], "mB": [1768.99462890625, 1815.36767578125, 1692.615478515625, 744.01434326171875]}, "RecNbr": 82, "TimeOfRec": [731496480, 0]}], "TableNbr": 3, "NbrOfRecs": 1}]}';
print_r( json_decode($string,1));
尝试使用json_decode($ string,1)。 1表示返回数组而不是对象。