【问题标题】:Parsing Chef cookbook using jclouds failed使用 jclouds 解析 Chef 食谱失败
【发布时间】:2014-03-18 16:48:28
【问题描述】:

我需要处理食谱元数据。我正在使用 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 中它是一个纯字符串。

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

非常感谢

【问题讨论】:

    标签: jclouds


    【解决方案1】:

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

    您能否尝试使用最新的 1.7.1 或 1.7.2 jclouds 版本?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多