【JAVA基础】-- Fastjson简单使用

fastjson 使用

首先区分 JAVA对象、JSON对象、JSON字符串

  • JAVA对象:是java类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

  • JSON对象:类似于Key/Value 的形式,写在 {} 中。例如:{"key1":"value","key2":0}

  • JSON字符串:就是一个字符串,一个整体,不截取的话不能使用

    JSON对象
    	var str1 = {"name": 'zhangsan',"sex": "man"};
    	
    JSON字符串
    	var str2 = '{"name": "zhangsan", "sex": "man"}';	//有双引号
    

JSON对象创建

创建 JSON 对象非常简单,只需使用 JSONObject(fastJson提供的json对象) 和 JSONArray(fastJson提供json数组对象) 对象即可

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.flink.api.common.io.ParseException;

public class JsonTest {
    public void whenGenerateJson_thanGenerationCorrect() throws ParseException {
        JSONArray jsonArray = new JSONArray();
        for (int i = 0; i < 2; i++) {
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("AGE", 10);
            jsonObject.put("FULL NAME", "Doe " + i);
            jsonObject.put("DATE OF BIRTH", "2016/12/12 12:12:12");
            jsonArray.add(jsonObject);
        }
        String jsonOutput = jsonArray.toJSONString();
        System.out.println(jsonOutput);
    }

    public static void main(String[] args) {
        JsonTest jsonTest = new JsonTest();
        jsonTest.whenGenerateJson_thanGenerationCorrect();
    }
}

JAVA对象 转为 JSON字符串(序列化)

JSON.toJSONString() 将 Java 对象转换为 JSON 对象:

JavaObject javaobject = new JavaObject();
javaobject.setName("alice");
javaobject.setAge(20);
String jsonstring= JSON.toJSONString(javaobject);

JSON字符串 转为 JAVA对象(反序列化)

JSON.parseObject/JSON.parse

JSON字符串 转为 JSON对象

根据 JSONArray.get(int index) 其中参数表示下标值

JSONArray jsonArray = new JSONArray();
String jsonOutput = jsonArray.toJSONString();		//JSONArray 转化为 JSON字符串
System.out.println(jsonArray.get(1));				//将第一个输出。如果想输出其中的某个值,哪些需要写一个类,定义getter,setter方法

JSONObject js1 = (JSONObject) jsonArray.get(1);	
System.out.println(js1.get("AGE"));					//输出JSON对象的某个key的value

完整代码

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.apache.flink.api.common.io.ParseException;


public class JsonTest {
    public void whenGenerateJson_thanGenerationCorrect() throws ParseException {
        JSONArray jsonArray = new JSONArray();
        for (int i = 0; i < 2; i++) {
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("AGE", 10);
            jsonObject.put("FULL NAME", "Doe " + i);
            jsonObject.put("DATE OF BIRTH", "2022/01/02 12:12:12");
            jsonArray.add(jsonObject);
        }
        String jsonOutput = jsonArray.toJSONString();      //现在jsonOutput是一个字符串了,需要进行切割才能输出其中指定的值
        System.out.println(jsonOutput);

        /* 源代码
        public Object get(int index) {
            return this.list.get(index);
        }
         */
        System.out.println(jsonArray.get(1));       // 将第一个输出。如果想输出其中的某个值,哪些需要写一个类,定义getter,setter方法
        System.out.println(getType(jsonArray.get(1)));

        JSONObject js1 = (JSONObject) jsonArray.get(1);		
        System.out.println(js1.get("AGE"));				//输出JSON对象的某个key的value
    }

    public static void main(String[] args) {
        JsonTest jsonTest = new JsonTest();
        jsonTest.whenGenerateJson_thanGenerationCorrect();

    }

    public static String getType(Object test) {					//自定义的getType,用于返回对象的类型
        return test.getClass().getName().toString();

    }
}

在这里插入图片描述

依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.59</version>
</dependency>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牛顿编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值