You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache Freemarker如何在JSON字段为null时省略引号?

解决Freemarker模板中null值生成JSON的问题

你可以通过两种常用方式实现需求:

方法一:使用?c内建函数(推荐)

Freemarker的?c内建函数专门用于生成符合JSON/JavaScript语法的输出,当变量为null时会直接输出不带引号的null,同时还能自动转义字符串中的特殊字符(比如双引号、换行符等),完全符合JSON规范。

修改后的模板:

{
    "firstname": ${fname?c}
}

方法二:手动条件判断

通过<#if>指令判断变量是否存在且非null,分别输出对应内容:

修改后的模板:

{
    "firstname": <#if fname??>"${fname}"<#else>null</#if>
}

注:这种方式需要自行处理字符串转义,如果你的fname包含特殊字符,可能需要额外使用转义逻辑,不如?c便捷。

内容的提问来源于stack exchange,提问作者Bhanu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 02:25:50