Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.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/0/amazon-s3/2.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
获取并解析从json到php的字符串_Php_Json - Fatal编程技术网

获取并解析从json到php的字符串

获取并解析从json到php的字符串,php,json,Php,Json,我得到了以下格式的json响应: "/Date(1234)/" 如何在php中仅获取字符串(1234)形式的数字 谢谢我认为这不是JSON,或者至少不是有效的。尽管如此,您仍可以提取如下数字: preg_match_all('!\d+!', stripslashes("/Date(1234)/"), $output); echo $output; 这种格式/Date(1234)/通常称为JSON日期格式。它包含unixtime和毫秒。因此,当您提取数字时,需要将其除以1000,以获得uni

我得到了以下格式的json响应:

 "/Date(1234)/"
如何在php中仅获取字符串(1234)形式的数字


谢谢

我认为这不是JSON,或者至少不是有效的。尽管如此,您仍可以提取如下数字:

preg_match_all('!\d+!', stripslashes("/Date(1234)/"), $output);
echo $output;
这种格式
/Date(1234)/
通常称为JSON日期格式。它包含unixtime和毫秒。因此,当您提取数字时,需要将其除以
1000
,以获得unixtime并在PHP中处理它。 这里我给出了一个函数来提取日期并将其转换为PHP
DateTime
对象

function parseJSDate($jsDateObject)
{
    $dateTime = null;
    if (preg_match("/\/Date\((\d+)\)\//", $jsDateObject, $match)) {
        if (isset($match[1]) && is_numeric($match[1])) {
            $timestamp = (int) $match[1];
            $dateTime  = new \DateTime();
            $dateTime->setTimestamp($timestamp / 1000);
        }
    }

    return $dateTime;
}

$date = parseJSDate("/Date(1224043200000)/");
echo $date->format("Y-m-d H:i:s");

如果您有JSON,则需要使用
JSON\u decode()
它不是有效的JSON字符串,用于发布您收到的实际JSON数据。
function parseJSDate($jsDateObject)
{
    $dateTime = null;
    if (preg_match("/\/Date\((\d+)\)\//", $jsDateObject, $match)) {
        if (isset($match[1]) && is_numeric($match[1])) {
            $timestamp = (int) $match[1];
            $dateTime  = new \DateTime();
            $dateTime->setTimestamp($timestamp / 1000);
        }
    }

    return $dateTime;
}

$date = parseJSDate("/Date(1224043200000)/");
echo $date->format("Y-m-d H:i:s");