我需要处理食谱元数据。我使用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中它是一个普通的字符串。
请你,云你指的是一个解决方案或简单的例子如何做到这一点?或者让我知道这是一个问题吗?
非常感谢
答案 0 :(得分:0)
现在已经有一段时间了,但我刚看到这个问题。
该问题在jclouds问题搜索器中报告,应该已经修复:
https://issues.apache.org/jira/browse/JCLOUDS-377
您可以尝试使用最后的1.7.1或1.7.2 jclouds版本吗?