如何在 Grails 中设置 JSON 转换器的日期格式

2024-02-20

我的 Grails 控制器中有一个方法应该返回 JSON,JSON 的属性是 Date 对象,但是当我这样做时:

render myObject as JSON

输出如下:

{
    "dateProperty": "2010-12-31T23:00:00Z",
    "otherProperty" : "aValue..."
}

有没有办法更改转换器使用的默认日期格式?

我尝试过设置属性grails.converters.json.date并且grails.date.formats in the 配置.groovy,但这不起作用。
我做错了什么还是有其他方法可以做到这一点?

Thanks


我通常使用自定义 Marshaller。假设您有以下域名

class Address { 
  String addressOne
  String city
  //bla bla
  Date dateCreated
}

像这样在 src/groovy 下创建一个类

class AddressMarshaller {
  void register() {
     JSON.registerObjectMarshaller(Address) { Address address ->
      return [ 
         id: address.id,
         addressOne: address.addressOne,
         city: address.city,
         dateCreated: address.dateCreated.format('yyyy-MM-dd')
      ]
  }
}

然后在 Bootstrap 文件中执行以下操作:

[ new AddressMarshaller() ].each { it.register() }

我之所以将其作为数组来处理,是因为我有多个编组器。

现在,无论你何时做address as JSON,您将获得您所描述的 JSON,并且您的日期格式是正确的。我知道这对于格式化 JSON 日期来说似乎有些过分了,但这还有很多其他好处。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Grails 中设置 JSON 转换器的日期格式 的相关文章

  • Mongoose查询结果是只读的吗?

    如何修改 Mongoose 查询返回的对象 假设我们有以下模式 var S new mongoose Schema name String field String 我对结果进行了以下查询和修改 var retrieve function
  • “JSONArray 文本必须在 null 的第 1 个字符处以 '[' 开头”

    只是想知道这个错误可能意味着什么 我从下面的代码中得到它 try JSONArray jArray new JSONArray result for int i 0 i
  • Javascript 将对象推送为克隆

    我将 d3 用于交互式网络应用程序 我需要绑定的数据在交互过程中发生变化 并且由 JSON 变量中的一些选定对象组成 为此 我在 JSON 变量上使用了映射 并进行了一些查询来选择适当的对象 对象被推送到列表中 并且该列表被绑定为新数据 我
  • 将 json 反序列化为对象:包装类解决方法

    这是我的 json accessType Grant spaces spaceId 5c209ba0 e24d 450d 8f23 44a99e6ae415 privilegeId db7cd037 6503 4dbf 8566 2cca4
  • 由于 json 字符串化 dict 键导致数据丢失

    考虑下面的例子 gt gt gt import json gt gt gt d 0 potato 0 spud gt gt gt json dumps d 0 potato 0 spud gt gt gt json loads json d
  • 如何使用 JSON_TABLE 从 Oracle JSON 列获取键值作为结果集

    我用谷歌搜索了很多 似乎无法找到适合我的简单用例的简单解决方案 我在 Oracle 12C 数据库中有一个 json 列 当然实际上是一个带有 json 约束的 varchar 在该列中我存储了这样的 Map 表示 a 9 0847 b 8
  • JSON 转换带有整数键的 Map

    我有一个测试代码的小样本 我尝试将 Map 转换为 JSON 字符串并返回 在解析 JSON 字符串时 结果映射包含字符串键 1 而不是整数键 1 从而导致测试失败 用作此映射的键的 POJO 也会发生同样的情况 这是预期行为还是我省略了
  • 打印本周星期一的日期(在 bash 中)

    我想获取本周星期一的 YYYYMMdd 格式的日期 例如 今天是 20110627 从明天到周日 我仍然想打印周一 今天 的日期 然后下周重复这个过程 monday date dmonday Y m d last monday date d
  • Grails/GGTS 2.4.2 没有将插件放在类路径上?

    我正在尝试将旧的 1 3 Grails 项目更新到最新的 Grails Groovy etc 所以我下载了 Grails 2 4 2 Groovy 2 3 和 Java 1 7 0 65 然后我通过 Import gt Grails 导入了
  • 在java中将RFC3339 DateTime转换为Date [重复]

    这个问题在这里已经有答案了 如何转换RFC 3339 https www rfc editor org rfc rfc3339java 中的 com google api client util DateTime 到 DateTime 例如
  • Bug 组合:jQuery 1.4、ajax/json、Firebug Lite 和 IE 8

    我刚刚得出结论 无论我如何尝试 jQuery 的 ajax 调用都无法在 IE 8 中处理 JSON 数据 我发现我可以使用 jQuery 1 3 2 库 这解决了问题 但 1 4 根本无法处理 JSON ajax 请求 即使返回的 JSO
  • 如何在 R 中解析堆叠多个 JSON 的文件?

    我在 R 中有以下 堆叠 JSON 对象 example1 json ID 12345 Timestamp 20140101 Usefulness Yes Code event1 A result 1 ID 1A35B Timestamp
  • 如何将 JSON 文本转换为 PHP 关联数组

    我将以下 JSON 对象存储在文本文件 data txt 中 player black time 0 from 2c to 3d 我使用 php 阅读 问题 有没有简单的方法可以转换 data到 PHP 关联数组 我尝试过使用json de
  • 在 Node.js 中创建 JSON 数组

    我需要在用 Node js 编写的服务器中创建一个 JSON 字符串 以便在请求时发送到客户端 问题是这个 JSON 取决于服务器中的可用数据 因此 JSON 数组的大小并不总是相同 我已经尝试了一整天 但尽管我感觉很接近 但我仍然不明白
  • Oracle/PHP - ORA-00911 更新时的无效字符

    我正在运行一个 PHP 脚本 该脚本从 Oracle 数据库实例更新表 首先 我收到一个 JSON 对象 lot KLMHA17N9N00 requestor B10078 id FRESHLOT username B26696 passw
  • 解析错误:第 2 行第 0 列的数字文字无效

    我正在尝试读取一个大的 json 数据结构 我收到消息 解析错误 第 2 行第 0 列的数字文字无效 我正在使用的命令是下一个 n rules echo rulebase list jq total 该文件在第一层次结构中具有一个变量 该变
  • XStream 中的自定义转换器

    我正在使用 XStream 将对象序列化为 XML 格式 我得到的格式化xml如下 node1 node2 node 3是pojo的属性 DetailDollars 我有一个要求 我必须计算一个百分比 例如 100 25 并将新节点添加到现
  • Rspec 控制器测试,传递 JSON 参数

    我试图实现以下目标 在 RSpec 控制器测试中创建 POST json 请求 并向其传递参数 这是我的代码 it returns access token do post login email bla password bla1 for
  • JSF 定制转换器

    我有一个像这样的自定义转换器 Override public Object getAsObject FacesContext facesContext UIComponent component String str System out
  • 在共享通用插件的两个 Grails 应用程序之间共享配置

    我们将有两个应用程序 它们都需要使用相同的服务 实用程序 代码 配置 我们使用 grailsApplication config 来配置外部服务的 URL 等内容 根据应用程序是否在 dev test qa staging prod 中运行

随机推荐

  • Android 上实现传感器融合?

    我听了这个演讲 http www youtube com watch v C7JQ7Rpwn2k http www youtube com watch v C7JQ7Rpwn2k Invensense Inc 正在对其 传感器融合 系统进行
  • Python:将文件转换为base64编码

    这是我的代码 import base64 with open Users Bob test txt as f encoded base64 b64encode f readlines print encoded 我已经根据它Base64 文
  • 读取请求消息正文时出错

    我需要读取 WCF 项目中的消息内容 例如 var messageContent Encoding UTF8 GetString OperationContext Current RequestContext RequestMessage
  • DateTime 反序列化错误:JsonConvert 返回错误的日期

    我正在代码中从 Solr 检索数据以获取事件列表 我得到的结果格式如下 public class SearchResults
  • Javascript fs.readFileSync 返回什么编码?

    考虑以下 Node js Javascript 程序 var fs require fs var encoding1 var encoding2 var a fs readFileSync testdoc pdf var b new Buf
  • 知道在 C# 中选择了组合框中的哪个选项吗?

    我有一个组合框 里面有一个东西列表 列表中的东西数量未设置 它从文件夹收集数据 并且组合框中可以有无限 有点夸张 数量的项目 我如何知道用户选择哪个选项 我尝试了下面的代码 但它不起作用 我是 C 新手 不知道我做错了什么 comboBox
  • 我需要做什么才能在 iOS 上使用 tgmath?

    我正在编译我的第一个项目并启用 64 位支持 我遇到了一堆关于隐式转换为浮点数的编译器警告 发生这种情况是因为我使用 fabsf 并将结果分配给 CGFloat 在新的 64 位架构上是双精度型 而不是浮点型 根据这个问题的回答 基于 CG
  • ASP.NET 中的 HttpHandler 是什么

    ASP NET 中的 HttpHandler 是什么 为什么以及如何使用它 用最简单的术语来说 ASP NET HttpHandler 是一个实现以下功能的类 System Web IHttpHandler界面 ASP NET HTTPHa
  • 点击后如何清除输入文字

    使用 jQuery 如何在单击后清除输入文本 默认情况下 该值保留在输入字段中 例如 我有一个输入文本 其值为TEXT 当我执行单击时 我希望输入字段变空 要删除默认文本 请单击元素 input text click function th
  • 在 Windows Phone 7 上获取程序集版本

    在我的 C 应用程序中 我通常使用以下代码获取版本 以向客户展示 System Reflection Assembly GetExecutingAssembly GetName Version 这在 Windows Phone 7 中不起作
  • Android Web 视图中 Access-Control-Allow-Origin.:1 不允许 Origin null?

    我收到此错误 XMLHttpRequest cannot load http 192 168 1 33 8080 ws target Origin null is not allowed by Access Control Allow Or
  • 将 np.savetxt 和 np.loadtxt 与多维数组一起使用

    存储多于二维数组的通用方法是什么 ndim gt 2 使用相同的格式 维度 进行归档和检索np savetxt and np loadtxt 我担心的是 如果我在存储时给出任何分隔符 我在检索时是否需要进行一些处理 另外 处理浮点数并以相同
  • 多线程文件搜索 C#

    我需要一些帮助 现在我已经完成了一个文件搜索 它将搜索我的整个硬盘驱动器并且它可以工作 这是执行此操作的两种方法 public void SearchFileRecursiveNonMultithreaded Search files mu
  • 如何在 Amazon Web Services EC2 实例上安装 MySQL-python?

    我在 AWS 上创建了一个 EC2 实例 并使用 PuTTY 连接到它 我无法安装MySQL python使用Pythonpip命令如下 pip 安装 MySQL python 通过root权限 这是错误的控制台输出 Collecting
  • C++ const 在类方法中的使用[重复]

    这个问题在这里已经有答案了 可能的重复 const 这里有什么用 https stackoverflow com questions 2025159 whats the use of const here 在类的函数中使用 const ht
  • 将 Python 控制台输出打印到 Qtextedit

    当我按下按钮时 我有这样的输出 版本 ROMMON 主机名 正常运行时间 RUNNING IMAGE 硬件 串行 CONFIG REGISTER 12 2 55 SE7 引导程序 Revo Solusindo 01 1 小时 27 分钟 c
  • 在 Amazon Linux 虚拟服务器上的 Python 2.7 上安装 GDAL

    我正在运行一个 t2 micro Amazon Linux 实例 Python 2 7 12 已预安装 我想用 Python 安装 GDAL 我已经安装了 gcc c 和 numpy 以下命令都不适合我 sudo yum install g
  • 开发多语言 Windows 应用程序 C#

    我问的是 C 中用于支持 Windows 窗体多语言界面的常用技术 我在这里所说的一切 几年内国际化桌面应用程序 我们现在应该做什么 https stackoverflow com questions 270829 internationa
  • 在新的 Jetpack API 中使用定位“面板”

    我现在使用新版本的 Jetpack API 它允许您使用 JS 框架为 Firefox 创建插件 面板 对象很容易使用 但我正在努力寻找一种定位它的方法 该文档简单地指出 Jetpack 面板 API https builder mozil
  • 如何在 Grails 中设置 JSON 转换器的日期格式

    我的 Grails 控制器中有一个方法应该返回 JSON JSON 的属性是 Date 对象 但是当我这样做时 render myObject as JSON 输出如下 dateProperty 2010 12 31T23 00 00Z o