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 @ 2017-03-21 18:51  limeOracle  阅读(3910)  评论(0编辑  收藏  举报