迭代scala中的JSON数组

时间:2011-02-23 12:48:47

标签: json scala specs

我在我的scala代码中使用了JSON lib net.sf.json(http://json-lib.sourceforge.net/apidocs/net/sf/json/package-summary.html)。 另外,我正在使用规范BDD框架(http://code.google.com/p/specs/)进行单元测试。在doBefore块中,我有以下代码:

doBefore {
  iter = serversJSON.iterator()
}

serversJSON是一个JSONArray对象。在doBefore块之外,我已声明变量使用如下

var serversJSON:JSONArray = null
var iter:Iterator[JSONArray] = null

但是在编译时我遇到了以下错误。

  

错误:类型不匹配;发现:   java.util.Iterator [?0]其中type?0   需要:   java.util.Iterator的[net.sf.json.JSONArray]   iter = serversJSON.iterator()

我想我在doBefore之外声明iter对象的方式是不正确的。如何解决这个问题?

请帮助 谢谢。

1 个答案:

答案 0 :(得分:4)

如所示here,JSON库的iterator方法返回原始Iterator,而不是Iterator[JSONArray]。您需要按如下方式声明:

var serversJSON:JSONArray = null
var iter:Iterator[_] = null