0

我正在编写部署程序扩展以使用 java 代码读取 Tridion 中的组件字段。我能够获取组件演示内容,但它是压缩格式的,因为我在 CMS 中使用 dd4t 模板。下面是我得到的字符串。

H4sIAAAAAAAEANVYbW/iOBD+K1akk+4k4JyEt/KNA6rbu/Ii4FZ72q5ObmLA2sRBjtNuVPjvazsh2JDSwu52exIf6vFkPM88Y89MH61eFK4jiim3Oo/WDYr5JLkLSLzCfh9xbHUsCKFdVb85hB31syrWFN+TmEQ0V3Kg3axCt+rac9vpOFcdaAulmbfCIZKGp1HEBwEOxTkjFMoveihcI7KkQu2dL9bcCzvtar3VaFTbQjYnPDDUthXrmuDAj6W52SpiPFd5tHKLmrBivUdBgoXuR6sOfwHRYgGwF9EoTMEiIMsVj8GCRSHohiGiAPAI9JM7RMCv/Q9//GZ9qlijJMSMeIUZIZJQ5yTEuuyG0M/YL2Kobylv5+lauAYr1ocJ4qscZi+iXCj/7iUxj8Qyh7hbGzj+xulDxPy94W0RmwL4MeYZusdAAaeAYZ4wChaI4RgQuo/DHv+bgn8KeZeiIOXEizlD3mdCl17k65Eo39cjIxMVuptZ92aw+Ws87XdHm+5wWBW4N/9u6vakN9/YzWF3KtK9O5n+5FA8BacsNNIne46/cC0ce5kegp8MSnfqKSBOCRDnLQJxngHilgBx3yIQ9wSQ8WKBWayhyAUahG8H8F2LD6w12+4zBUiBOKo+daP6ZDpG6VGiLMpmPJRMZ1UKnFemVnliLHK3SnllZEmorAM6lr3wu/JronArorJzvIxYunu6CVuLuheDGxLLRNxta/TYIhEatmOdEQEdzGEIHq0+jj1G1lykkvRA1cLcj0xfSodDmRDoi6qapd7kztzeGhjE8sDgRJRgynM38pgMMUc+4qhIsK2Rka6oVuIkp64lpWl2q54aHHNCkQTCI/25MeT/fz4P8TxHadbVvBMGWfYVCo4IFqX/UoJPm7+I7nbrkO5ThyjyewkTB3mpxnshelXKd6eeoty9OpNyDcpzbP8z6xesZn+XsVp4ULBq+H17m316AXv1Vss+ZE8aUywNsrZ7HPgTQYFePQ53TnNWb7Zr8JuIa788+MeuldWRXGuEH56AVuychua0Wq8OTXPtGNq2nPLCi+xQu8h0snPpvWiPVE7aRoLYbusKaskhmhsg6guoAvkIbU0szbN6uKIlexkKyQPxCU9nHDG9QTXl5z8fRTNmN/cd24v5uzIx79zegTxcHzpblpw7nQH1S2BK6cUg60Zb+qNBZq6W0nuckNdR4IvOVQBWHbWnCkeRibAqctFsfe06hFVHy83zBuX/Lvgvy/b0vdEclziOnC8uUQuK01JfWq554rTBSJoeP1AxMD9tpGEaqUOQ3zBRBe4YYmlu5+D62kchsps1cCH6gjYcrgM1y4j5IuHrhF9HLETiXlp/zoc34JqhpZxcSkeflpyPHHcOGx232Wk0arYafY6v/D3BD9oVUEt9XvHyJ0UMYKLJWv6IyaU0e40KKvofV0/D3TsH+r2JoiPupxSFxLM6nCVYDjEi0cd0gpbyiO1XvbkohNEUAAA=

谁能帮我找出编码格式或如何在Java中反序列化这个字符串。

4

1 回答 1

0

如果将 DD4T 模板设置为“压缩输出”,则数据是 GZIPped 和 Base64 编码。您可以按相反的顺序对其进行解码:

  1. 使用 Base64 解码
  2. 用 GZIP 解压

或者,您可以将 Compress Output 设置为 false 并发布可读的 JSON。如果您愿意,您只能在开发中执行此操作。

或者您可以简单地使用 DD4T 页面工厂来处理这个问题。只需调用 PageFactory.deserialize 并将压缩的 JSON 作为参数传入。

于 2017-10-16T13:21:45.433 回答