php json_encode + modernizr对象

时间:2012-08-10 02:24:32

标签: php json modernizr yepnope

我正在寻找更好,更强大的解决方案来回应使用php的yepnope功能测试。输出应该类似于:

{
  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对象。

1 个答案:

答案 0 :(得分: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;
}