json的使用

1.我这里使用的是阿里的fastjson的jar包

 <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.53</version>
        </dependency>

2.我们先生成一个Student类

package com.it.model;


public class Student {
    private String name;
    private int age;
    private String sex;
    private double score;

    public Student(String name, int age, String sex, double score) {
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.score = score;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("Student{");
        sb.append("name='").append(name).append('\'');
        sb.append(", age=").append(age);
        sb.append(", sex='").append(sex).append('\'');
        sb.append(", score=").append(score);
        sb.append('}');
        return sb.toString();
    }

    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;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public double getScore() {
        return score;
    }
    public void setScore(double score) {
        this.score = score;
    }
}

2.我们先来进行对象转换成json

下面是我们的测试代码

 @Test
    public void testObj2Json(){
        Student student = new Student("wen",23,"男",98.5);
        String s = JSONObject.toJSONString(student);
        System.out.println(s);
    }

测试结果如下:

{"age":23,"name":"wen","score":98.5,"sex":"男"}

3.json转换成对象

@Test
    public void testJson2Object(){
        String str = "{\"age\":23,\"name\":\"wen\",\"score\":98.5,\"sex\":\"男\"}";
        Student student = JSONObject.parseObject(str, Student.class);
        System.out.println(student);
    }

测试结果如下:

Student{name='wen', age=23, sex='男', score=98.5}

4.array转换成json

 @Test
    public void testArray2Json(){
        ArrayList<Student> students = new ArrayList<>();
        for (int i = 1; i < 5; i++) {
            Student student = new Student("wen"+i,23+i,"男",98.5-i);
            students.add(student);
        }
        String s = JSONObject.toJSONString(students);
        System.out.println(s);
    }

测试结果如下:

[{"age":24,"name":"wen1","score":97.5,"sex":"男"},{"age":25,"name":"wen2","score":96.5,"sex":"男"},{"age":26,"name":"wen3","score":95.5,"sex":"男"},{"age":27,"name":"wen4","score":94.5,"sex":"男"}]

5.json转换成array

 @Test
    public void testJson2Array(){
        String str = "[{\"age\":24,\"name\":\"wen1\",\"score\":97.5,\"sex\":\"男\"},{\"age\":25,\"name\":\"wen2\",\"score\":96.5,\"sex\":\"男\"},{\"age\":26,\"name\":\"wen3\",\"score\":95.5,\"sex\":\"男\"},{\"age\":27,\"name\":\"wen4\",\"score\":94.5,\"sex\":\"男\"}]";
        List<Student> students = JSONObject.parseArray(str, Student.class);
        for (Student student : students) {
            System.out.println(student);
        }
    }

测试结果如下:

Student{name='wen1', age=24, sex='男', score=97.5}
Student{name='wen2', age=25, sex='男', score=96.5}
Student{name='wen3', age=26, sex='男', score=95.5}
Student{name='wen4', age=27, sex='男', score=94.5}

从这里可以看出来,fastjson使用比原的json好用多了,这我们可以自己写一个工具类方便我们以后来使用.

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 221,635评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,543评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,083评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,640评论 1 296
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,640评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,262评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,833评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,736评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,280评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,369评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,503评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,185评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,870评论 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,340评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,460评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,909评论 3 376
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,512评论 2 359

推荐阅读更多精彩内容

  • JSON的使用 前言 JOSN,全称为JavaScript Object Notation,是一种轻量级的,读写方...
    颜洛滨阅读 1,062评论 0 2
  • 1.什么是json数据 json是一种数据格式,满足json格式的数据就是json数据。文件后缀是.json,并且...
    发家致富靠养猪阅读 1,078评论 0 0
  • 首先json这玩意做开发的或多或少都有接触的,我就是反反复复的接触json的相关应用场景,以及反反复复的混淆和忘记...
    Pale_Eyes阅读 215评论 0 0
  • 学习目的 掌握并且能够使用json数据格式进行通信交互 理解json格式和serialize序列化、xml、数组的...
    简简天天阅读 145评论 0 0
  • json的使用 学习目的: 1.掌握并能使用JSON数据格式进行通信交互 2...
    pltrue阅读 233评论 0 0