PHP json_encode json_PRETTY_PRINT:如何打印不同的格式?

PHP json_encode json_PRETTY_PRINT:如何打印不同的格式?,php,regex,json,php-5.4,Php,Regex,Json,Php 5.4,我知道PHP已经提供了JSON_PRETTY_打印来格式化JSON数据。如果我想要不同的格式呢 $message = array( "Open all day" => "Sundays,Saturdays,12-12-2013, 14-10-2013", "Availabilty" => array( "12/12/2013" => array( 30, 60, 30,

我知道PHP已经提供了JSON_PRETTY_打印来格式化JSON数据。如果我想要不同的格式呢

$message = array(
    "Open all day" => "Sundays,Saturdays,12-12-2013, 14-10-2013",

    "Availabilty" => array(
        "12/12/2013" => array(
            30,
            60,
            30,
            0
        ),
        "13/12/2013" => array(
            30,
            0,
            30,
            60,
        ),
    ),

);

$json = json_encode($message,JSON_PRETTY_PRINT);
结果,

{
    "Open all day": "Sundays,Saturdays,12-12-2013, 14-10-2013",
    "Availabilty": {
        "12\/12\/2013": [
            30,
            60,
            30,
            0
        ],
        "13\/12\/2013": [
            30,
            0,
            30,
            60
        ]
    }
}
但我更喜欢

{"Open all day":"
Sundays, 
Saturdays,
Fridays,
12/12/2013, 
14/10/2013, 
04/12/2013
",

"Availability":"
"12/12/2013":[30,60,30,0],
"13/12/2013":[30,60,30,0]
"}

可能吗?也许是正则表达式?另外,我不希望这些反斜杠-它们可以被删除吗?

php有一些常量来确保json有效,因此建议始终使用这些常量来确保信息的完整性


如果您想在不使用转义反斜杠的情况下使用,只要json的格式很好,但不能保证在某个时候,或某个系统拒绝您的json。。。因此,请始终使用php提供的常量来确保信息的完整性。

单独使用
json\u encode
是不可能获得这种格式的

但是为了防止斜杠被转义,您可以使用
JSON\u UNESCAPED\u slashes
常量:

$json = json_encode($message,JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
请参阅文档