一、通过json工具类
引入jar包
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.58</version> </dependency>
1.String转实体类
// target String类型数据 例如:“{‘name’:‘123’,‘code’:‘234’}” // Object 实体类 Object obj= JSONObject.parseObject(target,Object.class);
2. String转List<Object >
// target String类型数据 例如:“[{‘name’:‘123’,‘code’:‘234’},{‘name’:‘123’,‘code’:‘234’}]” // Object 实体类 List<Object > list = JSONObject.parseArray(target,Object.class);
二、代码实现
将一个字符串转换为相应的实体类对象,需要根据字符串的格式和实体类的属性来进行解析和赋值。以下是一个示例的实现代码:
假设有一个实体类Person,包含属性name和age。
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// getter and setter methods
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
现在有一个字符串"name=John,age=25"
,我们想要将这个字符串转换为一个Person对象。
实现代码如下:
public class StringToEntity {
public static void main(String[] args) {
String str = "name=John,age=25";
Person person = stringToPerson(str);
System.out.println(person);
}
public static Person stringToPerson(String str) {
Person person = new Person();
String[] fields = str.split(",");
for (String field : fields) {
String[] pair = field.split("=");
String key = pair[0];
String value = pair[1];
switch (key) {
case "name":
person.setName(value);
break;
case "age":
person.setAge(Integer.parseInt(value));
break;
default:
// handle unknown field
break;
}
}
return person;
}
}
输出结果为:Person{name='John', age=25}