0

我有脚本从外部系统接收 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()

如何查看从外部系统发送到我的脚本的数组的详细信息,以便验证发送的正确消息?

感谢您的帮助。

问候

4

2 回答 2

0

尝试使用

log_message('debug','values json2: '.json_encode($log_my_post));
于 2013-07-22T10:24:07.047 回答
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 表示您返回一个数组而不是一个对象。

于 2013-07-22T14:41:51.230 回答