首页 > 编程知识 正文

jsonobject对象转java对象,json字符串转jsonobject对象

时间:2024-03-25 09:50:20 阅读:333273 作者:QAKC

本文目录一览:

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.jarcommons-collections-3.2.jarcommons-lang.jarcommons-logging-1.1.jarezmorph-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);

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。