源码教程 2025年06月7日
0 收藏 0 点赞 635 浏览 7448 个字
摘要 :

说明:本文章只写一些简单案例,并没有做过多说明。 案例为maven案例,pom.xml引入依赖 <dependency>   <groupId>com.alibaba</groupId> &……

说明:本文章只写一些简单案例,并没有做过多说明。

案例为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

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/320.html

管理员

相关推荐
2025-07-05

对于一些使用WordPress进行外贸建站的商家来说,大部分人会通过在WordPress中添加JS代码和CSS样式表…

700
2025-07-05

当商家遇到WordPress独立站改版或者域名到期等问题时,不免会涉及到WordPress域名的更改,那么这一…

714
2025-07-05

用户在使用WooCommerce进行跨境电商独立站搭建工作时,有可能会借助WooCommerce短代码实现更加醒目…

306
2025-07-05

随着外贸建站行业的不断深入发展,WordPress的多语言功能也显得越来越重要,一个具有多语言的独立站…

1,038
2025-07-05

WooCommerce作为WordPress外贸建站生态的一部分,WooCommerce运费设置是商家在建站过程中不可忽视的…

835
2025-07-05

在外贸建站的过程中,有些商家会选择使用WordPress幻灯片为网站页面增加一定的动感和可观性,进而提…

723
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号