使用jclouds解析厨师食谱失败

时间:2014-03-18 16:48:29

标签: jclouds

我需要处理食谱元数据。我使用jclouds来执行此操作,但是apache2 cookbook失败并显示错误消息"预期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失败了&#34;默认&#34; attribute(Attribute class),它应该是JsonBall(defaultValue类字段),但是在metadata.json中它是一个普通的字符串。

请你,云你指的是一个解决方案或简单的例子如何做到这一点?或者让我知道这是一个问题吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

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

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