groovy:LazyMap类强制转换异常

时间:2017-08-15 21:19:51

标签: java json groovy

我有一个代码来解析一个巨大的JSON:

static <T> List<T> parseJSON(String json) {
   Map<String, T> result = jsonSlurper.parseText(json)
   List<T> list = result.result
   return list
}

String json = {result:[{obj1},{obj2} ....]}

我最后在变量列表中得到了一个正确的List但在Java中获取值时会抛出异常java.lang.ClassCastException: groovy.json.internal.LazyMap cannot be cast to {MyPOJO}

这是我收到数据的方式

List<MYClass> list = MyClass.parseJSON(someString);
for(MyClass i : list) {
  System.out.println(i.someValue());
}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你的通用没有多大意义。 在你的问题中有这样的json字符串时,parseJSON总是返回static defaultProps = { fetchMeetups } state = { loading: false, meetups: [] } async componentDidMount() { this.setState({ loading: true }); const data = await this.props.fetchMeetups(); setTimeout( () => this.setState({loading: false, meetups: data.meetups}),2000); } 的列表。 您必须从LazyMap显式转换为MyClass。否则只是一个演员异常。

这是我的代码:

groovy.json.internal.LazyMap
相关问题