Java:使用对象从Get数组创建CSV

Java:使用对象从Get数组创建CSV,java,Java,我有 我有员工班 data= [{ id=1, employee_name=Tiger Nixon, employee_salary=320800, employee_age=61, profile_image= }, { id=2, employee_name=Garrett Winters,

我有

我有员工班

data= [{
          id=1, 
          employee_name=Tiger Nixon, 
          employee_salary=320800, 
          employee_age=61, 
          profile_image=
       }, 
       {
          id=2, 
          employee_name=Garrett Winters, 
          employee_salary=170750, 
          employee_age=63, 
          profile_image=
       }, 
       {
          id=3, 
          employee_name=Ashton Cox, 
          employee_salary=86000, 
          employee_age=66, 
          profile_image=
       }, 
       {
          id=4, 
          employee_name=Cedric Kelly, 
          employee_salary=433060, 
          employee_age=22, 
          profile_image=
       }
      ]
我试着

public class Employee {
    private String employee_name;
    private String employee_salary;
    private String employee_age;
    private String id;
    private String profile_image;

    public String toCsvRow() {
        String csvRow = "";
        for (String value : Arrays.asList(employee_name,employee_salary,employee_age)) {
            String processed = value;
            if (value.contains("\"") || value.contains(",")) {
                processed = "\"" + value.replaceAll("\"", "\"\"") + "\"";
            }
            csvRow += "," + processed;
        }
        return csvRow.substring(1);
    }

    public String getEmployee_name() {
        return employee_name;
    }

    public String getEmployee_salary() {
        return employee_salary;
    }

    public String getEmployee_age() {
        return employee_age;
    }          
}
Map-Map=mapper.readValue(url,Map.class);
ArrayList emps=map.get(“数据”);
emps.get(0.toCsvRow())
线程“main”java.lang.ClassCastException中的异常:无法将java.util.LinkedHashMap转换为org.example.model.Employee
现在我无法使用emp调用toCSVRow。

用于将JSON解析为ArrayList,对于CSV转换,您可以使用

看到了吗,这很好用

String str=“[{”+
id=1+
“员工姓名=\”老虎尼克松\“+
“员工工资=320800,”+
“员工年龄=61岁,”+
“profile\u image=\“khkjh”+
"       }," +
"       {" +
id=2+
“员工姓名=\”Garrett Winters\“,”+
“员工工资=170750,”+
“员工年龄=63岁,”+
“配置文件\图像=\”\“”+
"       }," +
"       {" +
id=3+
“员工姓名=\“Ashton Cox\”+
“员工工资=86000,”+
“员工年龄=66岁,”+
“配置文件\图像=\”\“”+
"       }," +
"       {" +
id=4+
“员工姓名=\“Cedric Kelly\”,”+
“员工工资=433060,”+
“员工年龄=22岁,”+
“配置文件\图像=\”\“”+
"       }" +
"      ]";
试一试{
Gson Gson=新的Gson();
ArrayList=gson.fromJson(str,ArrayList.class);
字符串csv=CDL.toString(新的JSONArray(列表));
}捕获(例外e){
e、 printStackTrace();
}
输出:

Map<String, ArrayList<Employee>> map = mapper.readValue(url, Map.class);
ArrayList<Employee> emps = map.get("data");
emps.get(0).toCsvRow()

Exception in thread "main" java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to org.example.model.Employee
用于将JSON解析为ArrayList,用于CSV转换

看到了吗,这很好用

String str=“[{”+
id=1+
“员工姓名=\”老虎尼克松\“+
“员工工资=320800,”+
“员工年龄=61岁,”+
“profile\u image=\“khkjh”+
"       }," +
"       {" +
id=2+
“员工姓名=\”Garrett Winters\“,”+
“员工工资=170750,”+
“员工年龄=63岁,”+
“配置文件\图像=\”\“”+
"       }," +
"       {" +
id=3+
“员工姓名=\“Ashton Cox\”+
“员工工资=86000,”+
“员工年龄=66岁,”+
“配置文件\图像=\”\“”+
"       }," +
"       {" +
id=4+
“员工姓名=\“Cedric Kelly\”,”+
“员工工资=433060,”+
“员工年龄=22岁,”+
“配置文件\图像=\”\“”+
"       }" +
"      ]";
试一试{
Gson Gson=新的Gson();
ArrayList=gson.fromJson(str,ArrayList.class);
字符串csv=CDL.toString(新的JSONArray(列表));
}捕获(例外e){
e、 printStackTrace();
}
输出:

Map<String, ArrayList<Employee>> map = mapper.readValue(url, Map.class);
ArrayList<Employee> emps = map.get("data");
emps.get(0).toCsvRow()

Exception in thread "main" java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to org.example.model.Employee

现在还不清楚你在问什么,你的问题是什么。
map
或将其内容转换为员工对象列表是否有问题?首先我不明白的是这是
数组。作为列表(员工姓名、员工工资、员工年龄)
,它不应该需要数组吗?第二个问题是,您想创建一个excel文件还是将其存储到一个名为
csvRow
的变量中?是的,我想将其存储在csv格式中更新我想从这个员工数据中获取csv的问题我想它应该是
Map Map=mapper.readValue(数据,new TypeReference(){})而不是
Map-Map=mapper.readValue(url,Map.class)。阅读JSON字符串引用中的映射:不清楚您的要求和问题是什么。
map
或将其内容转换为员工对象列表是否有问题?首先我不明白的是这是
数组。作为列表(员工姓名、员工工资、员工年龄)
,它不应该需要数组吗?第二个问题是,您想创建一个excel文件还是将其存储到一个名为
csvRow
的变量中?是的,我想将其存储在csv格式中更新我想从这个员工数据中获取csv的问题我想它应该是
Map Map=mapper.readValue(数据,new TypeReference(){})而不是
Map-Map=mapper.readValue(url,Map.class)。从JSON字符串引用读取映射: