如何从java中返回json转换后的数组?

时间:2016-06-11 19:02:28

标签: java arrays json

以下代码工作正常(!),我想将它移动到自己的函数中,但我不能从json转换的数组(最后一行)返回。我在做什么wronng?

{{1}}

我认为问题是类型,但我在JAVA中是全新的...我得到错误:'不是声明'。是什么意思和解决方案?

2 个答案:

答案 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) {