需要换行时替代JSON?

时间:2014-03-14 01:42:41

标签: php xml json

我使用PHP制作了一个基本的标签打印网络应用程序,我需要一种方法来存储模板。它们由一些小的文本条目和一些数字和布尔值组成。通常我会使用JSON,但文本值包含JSON无法处理的换行符。 XML是一种痛苦,因为我必须逃避HTML标记。我可以使用另一种替代格式来存储人类可读的信息吗?

1 个答案:

答案 0 :(得分:0)

我假设您要准备数据并将其编码为服务器上的JSON,然后将其发送到客户端。 This article提供了一个很好的解释,说明如何准备数据,以便在客户端上提供适当的评估值。

较新版本的PHP(> 5.2)具有json_encode()函数,该函数将执行此任务:

$str_valid=json_encode($str);

此功能有很多选项,请阅读the docs以获取更多信息。

旧版本的PHP需要提供此功能:

/**
 * @param $value
 * @return mixed
 */
function escapeJsonString($value) { # list from www.json.org: (\b backspace, \f formfeed)
    $escapers = array("\\", "/", "\"", "\n", "\r", "\t", "\x08", "\x0c");
    $replacements = array("\\\\", "\\/", "\\\"", "\\n", "\\r", "\\t", "\\f", "\\b");
    $result = str_replace($escapers, $replacements, $value);
    return $result;
}

有趣的是,该文章引用了这个StackOverflow post,其中出现了相同的函数。