获取并解析从json到php的字符串
我得到了以下格式的json响应:获取并解析从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
"/Date(1234)/"
如何在php中仅获取字符串(1234)形式的数字
谢谢我认为这不是JSON,或者至少不是有效的。尽管如此,您仍可以提取如下数字:
preg_match_all('!\d+!', stripslashes("/Date(1234)/"), $output);
echo $output;
这种格式/Date(1234)/
通常称为JSON日期格式。它包含unixtime和毫秒。因此,当您提取数字时,需要将其除以1000
,以获得unixtime并在PHP中处理它。
这里我给出了一个函数来提取日期并将其转换为PHPDateTime
对象
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");