【问题标题】:Drupal 7 Services JSON shows fields names with spacesDrupal 7 Services JSON 显示带有空格的字段名称
【发布时间】:2015-12-04 18:52:48
【问题描述】:

我有带有服务 3 模块的 drupal 7 部署。我配置了带有 JSON 输出的服务。当我得到我的结果时,自定义字段返回标签而不是实际的字段名称。例如,内置的节点标题显示 node_title。但是,1 年存储为 field_1_year 的自定义字段显示为 1 年。这使得解析 JSON 变得困难。有什么建议么?

【问题讨论】:

  • 我一直在使用我的自定义提要。更多的工作,但完整的输出控制。
  • @MilanG - 谢谢。您是否在某处发布了示例代码?

标签: json drupal drupal-7


【解决方案1】:

您可以制作自定义 json 提要,即:

  • 为您制作 php 脚本并在顶部添加标准 D7 引导程序:

    define('DRUPAL_ROOT', getcwd());

    require_once DRUPAL_ROOT 。 '/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

在此代码之后,您将在脚本中使用 Drupal 的所有功能。

  • 添加您的代码以获得您想要的值。您可以使用 Drupal 的数据库 api,或者更简单,创建一些视图并使用 views_get_view_result() 函数获取值视图返回:

https://api.drupal.org/api/views/views.module/function/views_get_view_result/7

  • 然后遍历你的结果并创建另一个 php 数组,其中包含你想要的值。

  • 使用 json_encode 将数组转换为 json 字符串: http://php.net/manual/en/function.json-encode.php

  • 打印出你的 json 字符串。您甚至可以在它之前打印出 json 标头,这样获取 feed 的应用就会知道它是 json(有时可能需要)

    header('Content-Type: application/json');

类似的...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    • 2013-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多