java中利用fastjson解析json

java中利用fastjson解析json

json数据

{"uuid": [{"name": "史子峻","age": "24","iphone":"17812524783","youxiang":"1003249945@qq.com"},{"name": "郭青青","age": "24","iphone":"17812524783","youxiang":"1003249945@qq.com"},{"name": "刘诗君","age": "22","iphone":"17812524783","youxiang":"1003249945@qq.com"}],"user": {"name": "孙巍","age": "28","id": "007"},"name": "娜姐","age": "18","sex": "女"}

我们利用在线解析json功能,去接续这行json

"uuid": [
		{
			"name": "史子峻",
			"age": "24",
			"iphone": "17812524783",
			"youxiang": "1003249945@qq.com"
		},
		{
			"name": "郭青青",
			"age": "24",
			"iphone": "17812524783",
			"youxiang": "1003249945@qq.com"
		},
		{
			"name": "刘诗君",
			"age": "22",
			"iphone": "17812524783",
			"youxiang": "1003249945@qq.com"
		}
	],
	"user": {
		"name": "孙巍",
		"age": "28",
		"id": "007"
	},
	"name": "娜姐",
	"age": "18",
	"sex": "女"

通过解析我们可以清楚的看到我们的数据分层和结构总共有五层分别是
“uuid”,“user”,“name”,“age”,“sex”
其中有两层是多层结构分别是:“uuid”,“user”,我们需要针对这两层多建两个标准类,
其中所有的标准类都要通过generate创建get,set,和toString方法

第一层的解析

package yuchuli;

import java.util.Arrays;

/**
 * 第一层的解析
 */
public class beanjson {
    //单层的json直接将他的key上去就行
    private String name;
    private String age;
    private String sex;

    //多层的json还要联合解析
    private String uuid;
    private String user;

    @Override
    public String toString() {
        return "beanjson{" +
                "name='" + name + '\'' +
                ", age='" + age + '\'' +
                ", sex='" + sex + '\'' +
                ", uuid='" + uuid + '\'' +
                ", user='" + user + '\'' +
                '}';
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

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

    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    public String getUser() {
        return user;
    }

    public void setUser(String user) {
        this.user = user;
    }
}

第一层user的联合解析

package yuchuli;

/**
 * 联合解析
 */
public class user {

    private String name;
    private String age;
    private String id;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Override
    public String toString() {
        return "user{" +
                "name='" + name + '\'' +
                ", age='" + age + '\'' +
                ", id='" + id + '\'' +
                '}';
    }


    public user(String name, String age, String id) {
        this.name = name;
        this.age = age;
        this.id = id;

    }
}

第一层uuid的联合解析

package yuchuli;

public class uuid {
    private String name;
    private String age;
    private String iphone;
    private String youxiang;

    @Override
    public String toString() {
        return "uuid{" +
                "name='" + name + '\'' +
                ", age='" + age + '\'' +
                ", iphone='" + iphone + '\'' +
                ", youxiang='" + youxiang + '\'' +
                '}';
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getIphone() {
        return iphone;
    }

    public void setIphone(String iphone) {
        this.iphone = iphone;
    }

    public String getYouxiang() {
        return youxiang;
    }

    public void setYouxiang(String youxiang) {
        this.youxiang = youxiang;
    }
}

最终的解析

package yuchuli;

import com.alibaba.fastjson.JSON;

import java.io.BufferedReader;
import java.io.FileReader;

/**
 * 封装的那个标准类
 *
 */
public class bean {
    public static void main(String[] args)throws Exception {

        //将数据导入 导包抛异常
        BufferedReader br = new BufferedReader(new FileReader("data/json/movie.json"));
        //读取一行
        String line = br.readLine();
        beanjson beanjson = JSON.parseObject(line, beanjson.class);
        System.out.println(beanjson);
    }
}

解析成果

beanjson{name='娜姐', age='18', sex='女', uuid='[{"name":"史子峻","iphone":"17812524783","age":"24","youxiang":"1003249945@qq.com"},{"name":"郭青青","iphone":"17812524783","age":"24","youxiang":"1003249945@qq.com"},{"name":"刘诗君","iphone":"17812524783","age":"22","youxiang":"1003249945@qq.com"}]', user='{"name":"孙巍","id":"007","age":"28"}'}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值