js和java中的JSON和对象之间的转换

JS中JSON类型和对象的转换:

        obj={"name":"theking","age":18}//JSON对象,是一个对象

         对象-->JSON字符串:var jsonStr=JSON.stringify(obj);

         JSON字符串-->对象:var jsonObj=JSON.parse(jsonStr);

JAVA中JSON字符串和对象的转换:(第三方的Jar包 gson-2.2.4.jar)

        由于java中对象较多分为三类:对象(Student),List ,Map.

       对象(Student):

  @Test
      public void test1() {
    	  //对象转JSON字符串,json字符串转对象、集合,
    	 Student stu=new Student(1, "theking", 18);
    	 String json = gosn.toJson(stu);//Student转换为JSON字符串
    	 System.out.println(json);
    	 Student student = gosn.fromJson(json, Student.class);//JSON字符串转Student对象(反射)
    	 System.out.println(student);
      }

     结果:

{"id":1,"name":"theking","age":18}
Student [id=1, name=theking, age=18]

 

      List对象(List<Student>):

  @Test
      public void test2() {
    	  //对象转JSON字符串,json字符串转对象、集合,
    	  List<Student>list=new ArrayList<>();
    	  list.add(new Student(1, "theking", 18));
    	  list.add(new Student(2, "theking1", 17));
    	  list.add(new Student(3, "theking2", 19));
    	  list.add(new Student(4, "theking3", 20));
    	  String json = gosn.toJson(list); 
    	  System.out.println(json);
    	   List<Student> list1 = gosn.fromJson(json, new TypeToken<List<Student>>() {}.getType());
    	   System.out.println(list1);
      }

    结果:注意List集合转JSON后,是在数组中(你看开始的那个 [ ]

[{"id":1,"name":"theking","age":18},{"id":2,"name":"theking1","age":17},{"id":3,"name":"theking2","age":19},{"id":4,"name":"theking3","age":20}]
[Student [id=1, name=theking, age=18], Student [id=2, name=theking1, age=17], Student [id=3, name=theking2, age=19], Student [id=4, name=theking3, age=20]]

Map对象:( Map<String,Student>map = new  HashMap<>())

 

  @Test
      public void test3() {
    	  //对象转JSON字符串,json字符串转对象、集合,
    	   Map<String,Student>map=new HashMap<>();
    	  map.put("1",new Student(1, "theking", 18));
    	  map.put("2",new Student(2, "theking1", 17));
    	  map.put("3",new Student(3, "theking2", 19));
    	  map.put("4",new Student(4, "theking3", 20));
    	  String json = gosn.toJson(map); 
    	  System.out.println(json);
    	  Map<String,Student> list1 = gosn.fromJson(json, new TypeToken< Map<String,Student>>() {}.getType());
    	  System.out.println(list1);
      }

   结果:你看这里的Map转Json是在 { }

{"1":{"id":1,"name":"theking","age":18},"2":{"id":2,"name":"theking1","age":17},"3":{"id":3,"name":"theking2","age":19},"4":{"id":4,"name":"theking3","age":20}}
{1=Student [id=1, name=theking, age=18], 2=Student [id=2, name=theking1, age=17], 3=Student [id=3, name=theking2, age=19], 4=Student [id=4, name=theking3, age=20]}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值