本文目录一览:
json数组转java对象怎么转?
1、需要json的相关jar包
2、设置json格式字符串:
String str="{\"student\":[{\"name\":\"leilei\",\"age\":23},{\"name\":\"leilei02\",\"age\":23}]}";
3、建立相应的类:
public class StudentList {
ListStudent student;
public ListStudent getStudent() {
return student;
}
public void setStudent(ListStudent student) {
this.student = student;
}
}
public class Student {
private String name;
private int age;
//private StudentClass studentClass;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
4、测试程序
import java.util.List;
import org.codehaus.jackson.map.ObjectMapper;
public class JsonToJavaBean {
public static void main(String[] args) {
String str="{\"student\":[{\"name\":\"leilei\",\"age\":23},{\"name\":\"leilei02\",\"age\":23}]}";
Student stu = null;
ListStudent list = null;
try {
ObjectMapper objectMapper=new ObjectMapper();
StudentList studentList=objectMapper.readValue(str, StudentList.class);
list=studentList.getStudent();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(Student s:list){
System.out.println(s.getName());
}
}
json字符串怎么转换为java对象
您好,鉴于此问题,我将提供您如下的解决方案:
1、首先,加入如下 jar 文件到工程中:
2、编写 java 代码,进行json 数据的转换
3、控制台输出结果如下所示:
{"age":90,"houses":[],"id":1,"name":"liNing"}
User [age=90, houses=[], id=1, name=liiNing]
json数组转java对象怎么转
有两种方法实现:
(1)直接转换:
创建JSONArray对象、JSONObject对象,通过put方法将其数据以键值对的形式填充,如例:
//假如有一个Java实体类Person,包括以下属性:phone、sex、married、address。
ArrayListPerson persons = new ArrayListPerson();
for (int i = 0; i 3; i++) {
persons.add(new Person("138******67", "女", true, "北京朝阳区"));//填充Java实体类集合
}
JSONArray array = new JSONArray();// Json格式的数组形式
JSONObject obj;//json格式的单个对象形式
for (int i = 0; i persons.size(); i++) {
obj = new JSONObject();
//依次填充每一个Java实体对象
try {
obj.put("phone", persons.get(i).getPhone());//json通过put方式以key-value形式填充
obj.put("sex", persons.get(i).getSex());
obj.put("married", persons.get(i).getMarried());
obj.put("address", persons.get(i).getAddress());
array.put(obj);//将JSONObject添加入JSONArray
} catch (JSONException e) {
e.printStackTrace();
}
}
(2)通过GSON工具实现:
只需要创建GSON对象,通过toJson方法转换即可。如例:
//模拟Java数据
Person person = new Person("敏敏", 23, "女", "北京市海淀区");
//创建GSON对象
Gson gson = new Gson();
//调用toJson方法即可转换为字符串的json格式
String json = gson.toJson(person);
JSON转为java对象
开始看网上关于json的例子程序段,实验了一把发现结果和网上例子程序的结果不一致,后来发现使用json需要导入的jar包不全,只导入json-lib-2.2.2-jdk15.jar ,还需以下几个包:commons-beanutils-1.7.0.jar commons-collections-3.2.jar commons-lang.jar commons-logging-1.1.jar ezmorph-1.0.4.jar 这时在测试得到了想要的结果 Question q2 = new Question(); q2.setId(2); q2.setDescription("descrsssss"); q2.setPointInfo("pointkkkk"); q2.setType(3); Question q1 = new Question(); q1.setId(1); q1.setDescription("descrsssss"); q1.setPointInfo("pointkkkk"); q1.setType(3); JSONObject jsonObject = new JSONObject().fromObject(q2); System.out.println(jsonObject); List list = new ArrayList(); list.add(q1); list.add(q2); JSONArray jsonArr= JSONArray.fromObject(list); System.out.println(jsonArr); 输出:{"description":"descrsssss","id":2,"pointInfo":"pointkkkk","type":3} [{"description":"descrsssss","id":1,"pointInfo":"pointkkkk","type":3},{"description":"descrsssss","id":2,"pointInfo":"pointkkkk","type":3}]页面 $.post("showQuestions?type="+type,null,callbackShowQuestions,"json"); 这时在回调函数的参数data获得的就是json转换后的js对象数组, 以下标方式便可访问数组里的相应对象信息。
怎么将json对象转换成一个java对象
public static void jsonStrToJava(){
//定义两种不同格式的字符串
String objectStr="{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"北京市西城区\"}";
String arrayStr="[{\"name\":\"JSON\",\"age\":\"24\",\"address\":\"北京市西城区\"}]";
//1、使用JSONObject
JSONObject jsonObject=JSONObject.fromObject(objectStr);
Student stu=(Student)JSONObject.toBean(jsonObject, Student.class);
//2、使用JSONArray
JSONArray jsonArray=JSONArray.fromObject(arrayStr);
//获得jsonArray的第一个元素
Object o=jsonArray.get(0);
JSONObject jsonObject2=JSONObject.fromObject(o);
Student stu2=(Student)JSONObject.toBean(jsonObject2, Student.class);
System.out.println("stu:"+stu);
System.out.println("stu2:"+stu2);
}