com.alibaba.fastjson.JSONObject

复制代码
package com.alibaba.fastjson;

import java.util.Date;
import java.util.List;

import com.alibaba.fastjson.componet.Grade;
import com.alibaba.fastjson.componet.User;
import com.alibaba.fastjson.serializer.SerializerFeature;

/**
 * @author Liang
 *
 *         2017年2月27日
 */
public class JSONObject_ {

    public static void main(String[] args) {
        User lime = new User(1, "lime", 23d);
        User oracle = new User(2, "oracle", 25d);
        Grade grade = new Grade("铃兰一中", lime, oracle);

        // 将JavaBean序列化为JSON文本
        String limeJson = JSONObject.toJSONString(lime);
//        {"id":1,"name":"lime","treasure":23}
        String usersJson = JSONObject.toJSONString(grade.getUsers());
//        [{"id":1,"name":"lime","treasure":23},{"id":2,"name":"oracle","treasure":25}]
        String gradeJson = JSONObject.toJSONString(grade);
//        {"name":"铃兰一中","users":[{"id":1,"name":"lime","treasure":23},{"id":2,"name":"oracle","treasure":25}]}

        // JSONObject 其实就是一个Map。
        JSONObject limeParse = JSONObject.parseObject(limeJson);
        System.out.println(limeParse);
//        {"id":1,"name":"lime","treasure":23}
        System.out.println(limeParse.getInteger("id"));
//        1
        System.out.println(limeParse.getIntValue("id"));
//        1
        System.out.println(limeParse.getString("name"));
//        lime

        JSONObject gradeParse = JSONObject.parseObject(gradeJson);
        System.out.println(gradeParse);
//        {"name":"铃兰一中","users":[{"id":1,"name":"lime","treasure":23},{"id":2,"name":"oracle","treasure":25}]}
        System.out.println(gradeParse.get("users"));
//        [{"id":1,"name":"lime","treasure":23},{"id":2,"name":"oracle","treasure":25}]

        // JSONArray 其实就是一个List
        List<User> gradeUsersParse = JSONObject.parseArray(gradeParse.get("users").toString(), User.class);
        for(User user : gradeUsersParse){
            System.out.println(user);
            // User [id=1, name=lime, treasure=23.0]
            // User [id=2, name=oracle, treasure=25.0]
        }

//        key-value使用单引号
        String limeJSON = JSONObject.toJSONString(lime,
                SerializerFeature.UseSingleQuotes);
//        {'id':1,'name':'lime','treasure':23}

        // 日期格式化
        Date date = new Date();
        // 默认格式为yyyy-MM-dd HH:mm:ss
        System.out.println(JSON.toJSONString(date,
                SerializerFeature.WriteDateUseDateFormat));
        //根据自定义格式输出日期 
        System.out.println(JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd", SerializerFeature.WriteDateUseDateFormat));
    }
}
复制代码

啦啦啦

posted @   limeOracle  阅读(3940)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示