php - 让php输出不带引号的Json,以便javascript将其视为对象

标签 php javascript json

这是我遇到的问题,我希望能够输出这样的 JavaScript 对象

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

请注意,编辑器:Slick.Editors.Text 未包含在任何类型的引号中。

我可以输出这个...但我似乎无法让 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 不引用字符串?

最佳答案

这有点hacky,但你可以这样做:

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);
}

关于php - 让php输出不带引号的Json,以便javascript将其视为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17708077/

相关文章:

php - 使用 php 的 mysql 中的默认 SELECT 字段限制?

php - 在 WooCommerce 中创建订阅产品时使用 update_post_meta

javascript - jquery ui 自动完成结果不显示在 html 下拉列表中

javascript - 如何延迟特定 Controller (不是路由)的实例化?

php - 在 PHP 中使用 JSON 和 AJAX 的 MySql 数据

javascript - 我需要在我的 HTML 中转义什么(JSON 响应)

php - MySQL 数据库更新 2 个值 : 1 increase & 1 decrease

PHP:学习 IF-ELSE 语句

javascript - 如何追踪控制台中 404 错误的来源

javascript - 按 ],[ 分割字符串并创建 json 对象