以下代码工作正常(!),我想将它移动到自己的函数中,但我不能从json转换的数组(最后一行)返回。我在做什么wronng?
{{1}}
我认为问题是类型,但我在JAVA中是全新的...我得到错误:'不是声明'。是什么意思和解决方案?
答案 0 :(得分:1)
return jsons;
以及
ArrayList<JSONObject>
或者,为什么不返回return myjson.getJSONArray("profiles");
,为什么还要另外转换呢?
尽管理想情况下,返回实际的JSONArray对象而不是JSONObject的Java数组更有意义。
如
@Repository
public class GenericDao implements DaoInterface<T> {
//The type must be aquired at runtime,otherwise it may not be thread safe
@Autowired
protected SessionFactory sessionFactory;
@Override
@SuppressWarnings("unchecked")
public T findById(int id,Class<?> persistenceClass) {
Session session = sessionFactory.getCurrentSession();
return (T) session.get(persistenceClass, id);
}
//...more methods...
}
或者,更进一步,实际上解析将您想要的JSON值放入自己的Java类中?
答案 1 :(得分:0)
你应该这样做:
return jsons;
并且还更正了返回类型,那里有Array
,我没有看到代码中任何地方定义的类型,并且java中没有这样的类型,你可能想要JSONObject[]
,所以该方法的第一行将是:
public JSONObject[] jsonToArray(String json) {