0

我需要处理食谱元数据。我正在使用 jclouds 来执行此操作,但 apache2 食谱失败并显示错误消息“预期 BEGIN_ARRAY 但在行 ... 处为 BEGIN_OBJECT”。我已经尝试过从http://community.opscode.com/cookbooks/apache2上传的 1.8.4 和 1.9.6 版本。

代码如下所示:

ZipInputStream zis = new ZipInputStream(content);
ZipEntry entry = zis.getNextEntry();
while (entry != null) {
  if (entry.getName().endsWith("/metadata.json")) {
    Type type = new TypeToken<Metadata>() {}.getType();
    Gson gson = new Gson();
    Metadata metadata = gson.fromJson(new InputStreamReader(zis, Charsets.UTF_8), type);
    ...
  }
}

我已经调试了这个问题,看起来 gson 在“默认”属性(属性类)上失败了,这应该是 JsonBall(defaultValue 类字段),但在 metadata.json 中它是一个纯字符串。

拜托,云你给我一个解决方案或简单的例子如何做对?或者让我知道这是否是一个问题?

非常感谢

4

1 回答 1

0

现在已经有一段时间了,但我刚刚看到了这个问题。该问题已在 jclouds 问题跟踪器中报告,应该已经修复:
https ://issues.apache.org/jira/browse/JCLOUDS-377

您可以尝试使用最新的 1.7.1 或 1.7.2 jclouds 版本吗?

于 2014-04-16T09:50:16.153 回答