How to convert ArrayList of custom class to JsonArray in Java?

前端 未结 7 2219
一个人的身影
一个人的身影 2021-02-03 22:18

I am trying to convert ArrayList of custom class to JsonArray. Below is my code. It executes fine but some JsonArray elements come as zeros even though they are numbers in the A

7条回答
  •  名媛妹妹
    2021-02-03 22:40

    Use google gson jar, Please see sample code below,

        public class Metric {
            private int id;
            ...
           setter for id
            ....
           getter for id
        }
    
        Metric metric = new Metric();
        metric.setId(1);
    
        GsonBuilder gsonBuilder = new GsonBuilder();
        gsonBuilder.serializeNulls();
        Gson gson = gsonBuilder.create();
        System.out.println(gson.toJson(metric));
    
    StringBuffer jsonBuffer = new StringBuffer("{ \"rows\": [");
    List metrices = new ArrayList();
    // assume you have more elements in above arraylist
    boolean first = true;
    for (Metric metric : metrices) {
           if (first)
          first = false;
        else
          jsonBuffer.append(",");
          jsonBuffer.append(getJsonFromMetric(metric));
    }
    jsonBuffer.append("]}");
    
    private String getJsonFromMetric(Metric metric) {
    GsonBuilder gsonBuilder = new GsonBuilder();
        gsonBuilder.serializeNulls();
        Gson gson = gsonBuilder.create();
        return gson.toJson(metric);
    }
    

提交回复
热议问题