hashtable转json java_Java对象与Json字符串的转换

Java对象与Json字符串的转换

JSON是一种轻量级的数据交换格式,常用于前后端的数据交流

后端 : 前端

Java对象 > JsonString

Java对象 < jsonString

使用Gson进行验证

Bean对象 Java解析Bean对象时需要将对应的'类对象'传入

package com.json.bean;

public class Person {

private int age;

private String name;

public Person() {

}

public Person(int age, String name) {

this.age = age;

this.name = name;

}

@Override

public String toString() {

return "Person{" +

"age=" + age +

", name='" + name + '\'' +

'}';

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

package com.json.bean;

import com.google.gson.Gson;

import org.junit.Test;

public class BeanTrans {

Gson gson = new Gson();

@Test

public void test(){

Person p = new Person(1, "帅哥");

String bean2json= gson.toJson(p);

System.out.println(bean2json);

Person p1 = gson.fromJson(bean2json,Person.class);

System.out.println(p1);

System.out.println(p1.getName());

}

}

{"age":1,"name":"帅哥"}

Person{age=1, name='帅哥'}

帅哥

List对象 List需要新建一个类继承TypeToken,然后在Java解析字符串时将TypeToken的子类的‘类对象’传入

package com.json.list;

import com.google.gson.reflect.TypeToken;

import java.util.ArrayList;

public class PersonList extends TypeToken> {

}

package com.json.list;

import com.google.gson.Gson;

import com.google.gson.reflect.TypeToken;

import org.junit.Test;

import java.util.ArrayList;

import java.util.List;

public class ListTrans {

Gson gson = new Gson();

List list = new ArrayList();

@Test

public void test(){

Person2 p1 = new Person2(1, "我好帅");

Person2 p2 = new Person2(2, "你也好帅");

list.add(p1);

list.add(p2);

String list2json = gson.toJson(list);

System.out.println(list2json);

ArrayList list1 = gson.fromJson(list2json,new PersonList().getType());

System.out.println(list1);

System.out.println(list1.get(0).getName());

}

@Test

public void test1(){

Person2 p3 = new Person2(3, "我好帅");

Person2 p4 = new Person2(4, "你也好帅");

list.add(p3);

list.add(p4);

String list2json = gson.toJson(list);

System.out.println(list2json);

// 匿名内部类实现

ArrayList list1 = gson.fromJson(list2json,new TypeToken>(){}.getType());

System.out.println(list1);

System.out.println(list1.get(0).getName());

}

}

Map对象 Java解析Map对象时需要先实现一个继承TypeToken的子类,然后将对应的子类'类对象'传入

package com.json.map;

import com.google.gson.reflect.TypeToken;

import java.util.ArrayList;

import java.util.Hashtable;

public class PersonMap extends TypeToken> {

}

package com.json.map;

import com.google.gson.Gson;

import com.google.gson.reflect.TypeToken;

import org.junit.Test;

import java.util.*;

public class MapTrans {

Gson gson = new Gson();

Map map = new Hashtable();

@Test

public void test(){

Person3 p5 = new Person3(1, "我好帅");

Person3 p6 = new Person3(2, "你也好帅");

map.put(1,p5);

map.put(2,p6);

String list2json = gson.toJson(map);

System.out.println(list2json);

Map list1 = gson.fromJson(list2json,new PersonMap().getType());

System.out.println(list1);

System.out.println(list1.get(1));

}

@Test

public void test1(){

Person3 p5 = new Person3(3, "我好帅");

Person3 p6 = new Person3(4, "你也好帅");

map.put(1,p5);

map.put(2,p6);

String map2json = gson.toJson(map);

System.out.println(map2json);

// 匿名内部类实现

Map map2 = gson.fromJson(map2json,new TypeToken>(){}.getType());

System.out.println(map2);

System.out.println(map2.get(1));

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值