我需要处理食谱元数据。我正在使用 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 中它是一个纯字符串。
拜托,云你给我一个解决方案或简单的例子如何做对?或者让我知道这是否是一个问题?
非常感谢