2013-07-17 10 views
0

这里是我有我想能够输出一个JavaScript对象这样
让PHP输出的Json用了引号,这样的JavaScript将看到它作为一个对象

{ 
    id : "title", 
    name : "Title", 
    field : "title", 
    width : 200, 
    cssClass : "cell-title", 
    editor : Slick.Editors.Text 
} 

注意的问题编辑:Slick.Editors.Text没有任何引号。

I输出这...但我似乎无法让PHP不把周围Slick.Editor.Text

{"id":"title","name":"Title","field":"title","width":200,"cssClass":"cell-title","editor":"Slick.Editors.Text"} 

这里引号是PHP代码,我使用的输出这个字符串。

public function creatColumn($id, $name, $field, $width, $cssClass, $editor = null) { 
    $obj = (object) array('id'=>$id, 'name'=>$name, 'field'=>$field, 'width'=>$width, 'cssClass'=> $cssClass, 'editor' => $editor); 
    return json_encode($obj); 
} 

有没有办法输出一个php json对象到php不引用字符串?

+0

这不会是JSON,所以,没有。 preg_replace也许... – dandavis

+0

我发现这看起来像你想要的东西:http://stackoverflow.com/questions/5330944/prevent-quoting-of-certain-values-with-php-json-encode – tanstaafl

回答

2

这是一个小哈克,但你可以这样做:

public function creatColumn($id, $name, $field, $width, $cssClass, $editor = null) { 
    $obj = (object) array('id'=>$id, 'name'=>$name, 'field'=>$field, 'width'=>$width, 'cssClass'=> $cssClass); 
    $json = json_encode($obj); 
    return str_replace('}', '"editor":'.$editor.' }', $json); 
} 
相关问题