【问题标题】:How to shrink JSON string in ColdFusion如何在 ColdFusion 中缩小 JSON 字符串
【发布时间】:2013-11-19 22:09:34
【问题描述】:

我们目前正在使用 cfhttp 将 JSON 字符串发布到 Netsuite ERP 平台。我注意到当我们发布数据时,我们遇到了很多奇怪的错误。大多数错误包含未终止的字符串文字。我已经通过 JSON lint 运行它们来验证 JSON 字符串是完全完美的,我注意到 Netsuite 的行为非常不稳定。

在进行一些研究时,我发现很多这些未终止的字符串文字错误有时与空格有关。我注意到当我测试我的输出时,我的代码返回了相当多的空白。我有一些内联 <cfif> 语句,这也可能是一些额外空白的原因。

我想知道是否有任何方法可以在 ColdFusion 中完全缩小 json 字符串中的任何空白?是否有一个函数可以清理 JSON 字符串,所以当我发布它们时,它们会抑制所有空格?

提前致谢。

【问题讨论】:

  • 你是如何生成 JSON 的?你在用serializeJSON吗?显示生成和执行 HTTP 请求的代码行会很有用。
  • 在我看来,您是在手动构建 JSON...serializeJson() 不包含任何无关的空格。您能否发布一些示例代码,说明您如何创建 JSON 字符串以及 JSON 的外观。
  • 如果您手动生成 JSON,您可以尝试使用 cfprocessingdirective suppressWhiteSpace=yes。但是我强烈建议使用相同的逻辑来创建对象/结构,然后使用 serializeJson() 将其转换为 JSON

标签: json coldfusion removing-whitespace


【解决方案1】:

简单的想法:

<cfset cfVar = DeserializeJSON(jsonWhithSpaces)>
<cfset jsonPure = SerializeJSON(cfVar)>

【讨论】:

    【解决方案2】:

    确保在 CFAdmin 设置中选中启用空白管理。这将减少从 Coldfusion 返回到浏览器的空白。

    【讨论】:

    • 欢迎来到 Stack Overflow!这实际上是评论,而不是答案。多一点代表,you will be able to post comments.
    • @manetsus - 假设 JSON 是手动生成的(似乎很可能),这是关于如何消除额外空白的有效建议。当然还有其他选择。
    猜你喜欢
    • 2012-02-13
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多