如何使用javax.json将Json列表转换为java对象列表?

时间:2015-11-11 11:21:24

标签: java json

如何使用javax.json将Json列表转换为对象列表? 这是Json

{"chartId":O1234567,"products":[{"productId":1,"productInfo":"wine"},{"productId":2,"productInfo":"cookies"},{"productId":3,"productInfo":"donut"}]}

这是我的课程。

public class Chart{
        private int chartId;
        private List<Product> products;

        //getters and setter
        }

  public class Product
        {
        private int productId;
        private String productInfo;
    }


  public class ConvertJson{
         public Chart convertJsonToChart(String JsonToConvert){

            InputStream fis=new FileInputStream(jsonToConvert);        
            JsonReader jsonReader = Json.createReader(fis);       
            JsonObject jsonObject=jsonReader.readObject();       
            jsonReader.close();
            fis.close();

            Chart chart=new chart();
            chart.setChartId(jsonObject.getInt("productId"));
           //Here I should convert the productc json list to an java array list


           }
   }

就像你看到我知道如何将图表json转换为图表java对象,但如果我想转换json列表,我该怎么办呢? 谢谢

1 个答案:

答案 0 :(得分:0)

正如克里斯托夫所说,你可以使用杰克逊。 这是一个相关主题,向您展示如何使用该库。 首先创建一个对象映射器,然后从映射器的readValue()方法中作为参数传递的json读取值。

How to use Jackson to deserialise an array of objects

您可以在此处阅读有关Jakson的更多示例: http://www.tutorialspoint.com/jackson/

或者你可以对这个图书馆进行更深入的研究。