php json_encode,带有javascript变量

时间:2015-10-29 01:24:23

标签: javascript php

例如,我想要一个像这样的JSON:

{"start": "2015-01-01", "end": "2015-01-01", "backgroundColor": Theme.colors.red}

如何将Theme.colors.red作为常量/变量而不是字符串在javascript中进行处理?

我的php脚本目前看起来像:

$event = new StdClass;
$event->title = $off->note;
$event->start = date('D M d Y', strtotime($off->y.'-'.$off->m.'-'.$off->d));
$event->end = date('D M d Y', strtotime($off->y.'-'.$off->m.'-'.$off->d));
$event->backgroundColor = 'Theme.colors.red';

1 个答案:

答案 0 :(得分:0)

JSON是一种数据交换格式。因此,它不知道Theme.colors.red是什么。

为了实现您的目标,在Javascript中JSON.parse函数可以采用第二个参数作为转换函数。例如:

var data = JSON.parse(rawJSON, function(key, value) {
    // Warning: eval is evil
    if (key === "backgroundColor") return eval(value);

    return value;
});

我不知道Theme.colors.red是什么,它的范围等等,因此您需要实施适合您需求的变压器回调并避免危险的陷阱。