fastjson的使用

Posted 听风者-better

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastjson的使用相关的知识,希望对你有一定的参考价值。

一、JSON形式

1.json对象

数据在大括弧里,以键值对的形式存在

"name":"唐万言","id":1,"age":20

2.json对象数组

数据在方括号里,每个数据都是一个json对象

[
	"name":"唐万言0","id":0,"age":20,
	"name":"唐万言1","id":1,"age":21,
	"name":"唐万言2","id":2,"age":22,
	"name":"唐万言3","id":3,"age":23,
	"name":"唐万言4","id":4,"age":24
]

3.json字符串

json格式的字符串

"\\"name\\":\\"唐万言\\",\\"id\\":1,\\"age\\":20"

二、fastjson的使用

package com.twy.json;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.ArrayList;
import java.util.List;

public class JsonTest 
    public static void main(String[] args)

        User user = new User();
        user.setId(1);
        user.setName("唐万言");
        user.setAge(20);
        //Java对象转为json字符串
        String jsonString = JSON.toJSONString(user);
        System.out.println(jsonString);

        //json字符串转为Java对象
        User user1 = JSON.parseObject(jsonString, User.class);
        System.out.println(user1);

        //Java对象转为json对象
        JSONObject jsonObject = (JSONObject) JSON.toJSON(user);
        System.out.println(jsonObject);

        //json对象转为Java对象
        User user2 = JSON.toJavaObject(jsonObject,User.class);
        System.out.println(user2);

        List<User> list = new ArrayList<>();
        for(int i = 0; i < 5; i++)
            User u = new User();
            u.setId(i);
            u.setName("唐万言"+i);
            u.setAge(20+i);
            list.add(u);
        

        //Java集合对象转为json对象数组
        JSONArray jsonArray = (JSONArray) JSONArray.toJSON(list);
        System.out.println(jsonArray);

        List<User> list2 = new ArrayList<>();
        //json对象数组转为Java集合对象
        for(int i=0;i<jsonArray.size();i++)
            User u = JSON.toJavaObject(jsonArray.getJSONObject(i), User.class);
            list2.add(u);
        
        System.out.println(list2);


        //json对象转为json字符串
        String jsonString1 = JSONObject.toJSONString(jsonObject);
        System.out.println(jsonString1);

        //json字符串转为json对象
        JSONObject jsonObject1 = JSONObject.parseObject(jsonString);
        System.out.println(jsonObject1);

        //根据key获取value(getXXX 对应类型方法)
        System.out.println(jsonObject1.getInteger("id"));
        System.out.println(jsonObject1.getInteger("age"));
        System.out.println(jsonObject1.getString("name"));

        //json字符串转为json数组对象
        String jsonArrayStr = JSON.toJSONString(list);
        JSONArray jsonArray1 = JSON.parseArray(jsonArrayStr);
        System.out.println(jsonArray1);

    


以上是关于fastjson的使用的主要内容,如果未能解决你的问题,请参考以下文章

括弧匹配检验(check.cpp)

括弧匹配检验

1354括弧匹配检验

括弧匹配检验(check.cpp)

PTA-栈(括弧匹配)

括弧匹配检验