我需要通过JSON从我的网站访问一些变量。
所有选项都将始终定义。我的问题是,创建一个faux-json还是使用json_encode
更好。人造json看起来像这样:
{
"data": [
{
"optA": "<?php echo($optA); ?>",
"optB": "<?php echo($optB); ?>",
"optC": "<?php echo($optC); ?>"
}
]
}
我觉得像嵌套数组一样,使用json_ecode
会增加另一个步骤。虽然,我知道一行一行的回声也增加了一些重量。
我倾向于使用json_encode
,因为它被广泛使用。我的数组也不会过度复杂,但肯定比上面的例子更多。
答案 0 :(得分:5)
最好使用json_encode()
。
首先,它会为您完成所有必要的转义,因此您可以保证您的输出是有效的JSON。
在任何情况下,如果你想格式化你的代码,缩进你的数组代码,当你把它作为PHP数组编写时,你仍然可以做。
print json_encode(array(
"data" => array(
"optA" => $optA,
"optB" => $optB,
"optC" => $optC
)
));
请参阅,与您的硬编码JSON示例一样易于阅读和使用,但以正确的方式执行。
答案 1 :(得分:2)
使用json_encode
。它不容易出错。您不会使用意外数据(例如包含新行或引号的字符串)或拼写错误来破坏您的代码。