2012-08-10 52 views
1

我正在寻找更好和更强大的解决方案来回显使用php的yepnope功能测试。输出应该是这个样子:php json_encode + modernizr对象

{ 
    test : Modernizr.geolocation, 
    yep : 'normal.js', 
    nope : ['polyfill.js', 'wrapper.js'] 
} 

从产出,如:

$l10n = array(
    'test' => 'Modernizr.geolocation', 
    'yep' => "'normal.js'", 
    'nope' => array("'polyfill.js'", "'wrapper.js'") 
); 

显然,周围的JSON对象被包裹引号的问题。我不禁想知道是否有另外一个类可以满足创建包含原始javascript和字符串的混合javascript对象的需求。

回答

0

json_encode返回一个值的JSON表示,关键是JSON表示不是JavaScript对象,JSON是JavaScript的一个子集对象常量,所以你需要做的JavaScript中的转换。

var l10n = <?php echo json_encode($l10n); ?>; 

if (l10n.test === "Modernizr.geolocation") { 
    l10n.test = Modernizr.geolocation; 
}