说明:本文章只写一些简单案例,并没有做过多说明。
案例为maven案例,pom.xml引入依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> <dependency> <groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.7.0</version> </dependency> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>net.sf.ezmorph</groupId> <artifactId>ezmorph</artifactId> <version>1.0.3</version> </dependency>
接下来,开始
package one.model;
public class Students {
private String name;
private String sex;
private Integer age;
//未节省空间,这里的get set方法就不写了,粘贴代码的时候记得加上。
}下面main方法中去掉注释可以运行制定的方法:
package one.mains;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import one.model.Students;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class JsonDemo {
public static void main(String [] arg){
/*******************************************************/
//strToJson();//Java字符串 转 json字符串
/*******************************************************/
//jsonToStr();//json字符串 转 Java字符串
/*******************************************************/
//newsToStr();//将Java对象 转 json字符串
/*******************************************************/
//jsonToNews();//将json字符串 转 Java对象
/*******************************************************/
//jsonToArray();//将json字符串 转 对象数组(集合)
/*******************************************************/
//arrayToJson();//将数组(集合) 转 json字符串
/*******************************************************/
//jsonToMapOne();//将json字符串 转 map<Object,Object>
/*******************************************************/
//mapToJsonOne();//将map<String,Object> 转 json字符串
/*******************************************************/
//jsonToMapTwo();//将json字符串 转 map<String,Students>
/*******************************************************/
//mapToJsonTwo();//将map<String,Students> 转 json字符串
}
//将json字符串转成Java字符串
public static void jsonToStr(){
String s ="{"name":"zhangsan","sex":"nv","age":8}";
JSONObject json = JSONObject.fromObject(s);
System.out.println(json.toString());
}
//将Java字符串转成json字符串
public static void strToJson(){
String json = "{'name':'xiaosan'}";
JSONObject jsonObj = JSONObject.fromObject(json);
String name = jsonObj.getString("name");
System.out.print(name);
}
//将Java对象转成json字符串
public static void newsToStr(){
Students students = new Students();
students.setName("hehe");
students.setSex("nan");
students.setAge(10);
String str = JSON.toJSONString(students);
System.out.print(str);
}
//将json字符串转成Java对象
public static void jsonToNews(){
String s ="{"name":"zhangsan","sex":"nv","age":8}";
//方法一
Students studentA = JSON.parseObject(s, Students.class);
System.out.println(studentA.getName());
//方法二
Students studentB = JSON.parseObject(s, new TypeReference<Students>() {});
System.out.println(studentB.getSex());
//方法三
JSONObject jsonObject=JSONObject.fromObject(s);
Students studentC=(Students)JSONObject.toBean(jsonObject, Students.class);
System.out.println(studentC.getAge());
}
//将json字符串转成对象数组(集合)
public static void jsonToArray() {
String array="[{"name":"xiaohong","age":23},{"name":"xiaowang","age":24}]";
//转为集合
JSONArray jsonarray = JSONArray.fromObject(array);
Object object = jsonarray.get(0);
JSONObject jsonObject=JSONObject.fromObject(object);
Students students=(Students)JSONObject.toBean(jsonObject,Students.class);
System.out.println(students.getName());
//转化为数组
Students[] ss =(Students[])JSONArray.toArray(JSONArray.fromObject(array),Students.class);
for (Students student : ss) {
System.out.println(student.getAge());
}
}
//将数组(集合)转成json字符串
public static void arrayToJson() {
List<Students> list = new ArrayList<Students>();
Students studentsA = new Students();
studentsA.setName("hello");
studentsA.setSex("nan");
studentsA.setAge(18);
list.add(studentsA);
Students studentsB = new Students();
studentsB.setName("world");
studentsB.setSex("nv");
studentsB.setAge(18);
list.add(studentsB);
JSONArray listArray=JSONArray.fromObject(list);
System.out.println("listArray:"+listArray.toString());
}
//将json字符串转成map<Object,Object>
public static void jsonToMapOne(){
String str = "{"0":"wangchao","1":"mahan","2":"zhanglong","3":"zhaohu"}";
//方法一
Map maps = (Map)JSON.parse(str);
System.out.println("这个是用JSON类来解析JSON字符串!!!");
for (Object map : maps.entrySet()){
System.out.println(((Map.Entry)map).getKey()+" " + ((Map.Entry)map).getValue());
}
System.out.println("-------------------------------------------");
//方法二
Map mapTypes = JSON.parseObject(str);
System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!");
for (Object obj : mapTypes.keySet()){
System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj));
}
System.out.println("-------------------------------------------");
//方法三
Map mapType = JSON.parseObject(str,Map.class);
System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!");
for (Object obj : mapType.keySet()){
System.out.println("key为:"+obj+"值为:"+mapType.get(obj));
}
}
//将map<Object,Object>转成json字符串
public static void mapToJsonOne() {
Map map = new HashMap();
map.put("success", "10");
map.put("error", "20");
JSONObject json = JSONObject.fromObject(map);
//JSONObject json =new JSONObject(map);
System.out.println(json);
System.out.println(json.toString());
}
//将json字符串转成map<String,Students>
public static void jsonToMapTwo() {
String mapStr="{"0":{"name":"xiaohong","age":23},"1":{"name":"xiaowang","age":24}}";
Map<String,Students> maps = JSON.parseObject(mapStr, new TypeReference<Map<String,Students>>(){});
System.out.println(maps.get("0").getName());
}
//将map<String,Students>转成json字符串
public static void mapToJsonTwo() {
Students students=new Students();
students.setName("JSON");
students.setAge(23);
students.setSex("nv");
Map<String,Students> map=new HashMap<String,Students>();
map.put("first", students);
//1、JSONObject
JSONObject mapObject=JSONObject.fromObject(map);
System.out.println("mapObject"+mapObject.toString());
//2、JSONArray
JSONArray mapArray=JSONArray.fromObject(map);
System.out.println("mapArray:"+mapArray.toString());
}
}原文链接:https://blog.csdn.net/liqingwei168/java/article/details/86580656




B2C电商系统商城源码支持pC+小程序+公众号+H5可打包App源...
原生开发淘宝客App,Android+ios独立开发,全开源支持二...
知识付费系统在线教育平台源码+题库系统源码,PC+公众号商业授权...
B2C单商户电商系统源码部署小程序+公众号+H5+App源码...
教育知识付费系统源码带题库功能商业授权公众号+H5源码...