Java 将集合转换为JSon并使用mqtt发送

Java 将集合转换为JSon并使用mqtt发送,java,gson,Java,Gson,我正在读取一个csv文件,并将内容保存在我的数据模型集合中。现在,我想将带有googlegson的集合转换为Json,然后通过mqtt以字节的形式发送 public static void main(String[] args) { String csvFile = "/Users/xxx/Desktop/file.csv"; Gson gson = new Gson(); List<Datamodel> _listmodel = new ArrayList

我正在读取一个csv文件,并将内容保存在我的数据模型集合中。现在,我想将带有googlegson的集合转换为Json,然后通过mqtt以字节的形式发送

public static void main(String[] args) {

    String csvFile = "/Users/xxx/Desktop/file.csv";
    Gson gson = new Gson();
    List<Datamodel> _listmodel = new ArrayList<Datamodel>();
    List<String> lines = new ArrayList<String>();
    String line = null;


    try (BufferedReader bufferedReader = new BufferedReader(new FileReader(csvFile))) 
    {

        while ((line = bufferedReader.readLine()) != null) 
        {
            lines.add(line);
        }

        for(int i = 0; i<lines.size() ;i++)
        {

            String[] data = lines.get(i).split(";",-1);
            _listmodel.add(new Datamodel(data[0],data[1],data[2],data[3],data[4])); 
        }

    } 
    catch (IOException e) 
    {
        e.printStackTrace();
    }

    String json = gson.toJson(lines);
    System.out.println("json = " + json);

    //Test- Convert back to List not working??????

    Type type = new TypeToken<ArrayList<Datamodel>>(){}.getType();
    List<Datamodel> neueliste = gson.fromJson(json, type);

}
publicstaticvoidmain(字符串[]args){
字符串csvFile=“/Users/xxx/Desktop/file.csv”;
Gson Gson=新的Gson();
List _listmodel=newarraylist();
列表行=新的ArrayList();
字符串行=null;
try(BufferedReader BufferedReader=new BufferedReader(new FileReader(csvFile)))
{
而((line=bufferedReader.readLine())!=null)
{
行。添加(行);
}

对于(int i=0;i您可以首先将其强制转换为对象,然后将其强制转换为列表

   Object object = gson.fromJson(json, Object.class);
   List<Datamodel> neueliste = (List<Datamodel>) object;
objectobject=gson.fromJson(json,Object.class);
List neueliste=(List)对象;