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"));
//
System.out.println(limeParse.getIntValue("id"));
//
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));
}
}

啦啦啦

com.alibaba.fastjson.JSONObject的更多相关文章

  1. 探索RequestBody报com.alibaba.fastjson.JSONObject cannot be cast to xxx

    今天使用RequestBody接受前端传过来的参数,以前接受字符串数组非常成功,这次把形参改成了List<User>,原本以为顺利接受参数并映射成User的list结构,结果竟然在我取us ...

  2. 42-字符串到json 的错误 com.alibaba.fastjson.JSONObject cannot be cast to java.lang.String

    json: {"updated_at":1551780617,"attr":{"uptime_h":3,"uptime_m&quo ...

  3. No message body writer has been found for class com.alibaba.fastjson.JSONObject, ContentType: */*

    1:当使用 cxf 发布服务时,要求返回值类型为xml,或者json等 @Path("/searchProductByText") @GET @Produces({"ap ...

  4. net.sf.json.JSONOBJECT.fromObject 与 com.alibaba.fastjson.JSONObject.parseObject

    文章待补充,先写写以下知识点好了. NULL值处理之 net.sf.json.JSONObject 和 com.alibaba.fastjson.JSONObject区别 JSON作为一个轻量级的文本 ...

  5. java后台接收json数据,报错com.alibaba.fastjson.JSONObject cannot be cast to xxx

    从前台接收json封装的list数据,在后台接收时一直报错,com.alibaba.fastjson.JSONObject cannot be cast to xxx, 使用这种方式接收可以接收 @R ...

  6. com.alibaba.fastjson.JSONObject循环给同一对象赋值会出现"$ref":"$[0]"现象问题

    1.今天定义了一个JSONObject对象,引用的com.alibaba.fastjson.JSONObject,循环给这个对象赋值出现"$ref":"$[0]" ...

  7. com.alibaba.fastjson.JSONObject之对象与JSON转换方法

    com.alibaba.fastjson.JSONObject时经常会用到它的转换方法,包括Java对象转成JSON串.JSON对象,JSON串转成java对象.JSON对象,JSON对象转换Java ...

  8. com.alibaba.fastjson.JSONObject;的使用

    转: com.alibaba.fastjson.JSONObject;的使用 2018-11-04 23:51:23 mameng1998 阅读数 6404更多 分类专栏: java   1  POM ...

  9. Java-Class-I:com.alibaba.fastjson.JSONObject

    ylbtech-Java-Class-I:com.alibaba.fastjson.JSONObject 1.返回顶部 1.1.import com.alibaba.fastjson.JSON;imp ...

随机推荐

  1. 初入android驱动开发之字符设备(四-中断)

    上一篇讲到android驱动开发中,应用是怎样去操作底层硬件的整个流程,实现了按键控制led的亮灭.当然,这是一个非常easy的实例,只是略微演变一下,就能够得到广泛的应用. 如开发扫描头,应用透过监 ...

  2. python多线程同步机制condition

    #!/usr/bin/env python# -*- coding: utf-8 -*- import threadingimport time def customer(cond): t = thr ...

  3. python datetime和unix时间戳之间相互转换

                                python datetime和unix时间戳之间相互转换 1.代码:    import time    import datetime # ...

  4. Python 引用

    python引用python中的数值类型变量也是引用,例如: a = 100b=a那么a和b指向同一块内存但是当修改a或者b的值得时候,Python会新分配一块内存来存储新的值 python中不可变类 ...

  5. 定义与声明、头文件与extern总结

     用#include可以包含其他头文件中变量.函数的声明,为什么还要extern关键字? 如果我想引用一个全局变量或函数a,我只要直接在源文件中包含#include<xxx.h> (xxx ...

  6. 原创:如何实现在Excel通过循环语句设置指定行的格式

    原创:如何实现在Excel通过循环语句设置指定行的格式 一.需求: 想让excel的某些行(比如3的倍数的行)字体变成5号字 如何整: 二.实现: Sub code() To Range(" ...

  7. 第三百八十六节,Django+Xadmin打造上线标准的在线教育平台—HTML母版继承

    第三百八十六节,Django+Xadmin打造上线标准的在线教育平台—HTML母版继承 母板-子板-母板继承 母板继承就是访问的页面继承一个母板,将访问页面的内容引入到母板里指定的地方,组合成一个新页 ...

  8. SpringMVC系列(四)使用 POJO 对象绑定请求参数值

    在实际开发中如果参数太多就不能使用@RequestParam去一个一个的映射了,需要定义一个实体参数对象(POJO)来映射请求参数.Spring MVC 会按请求参数名和 POJO 属性名进行自动匹配 ...

  9. Maven项目模板

    maven 使用 Archetype 概念为用户提供不同类型的项目模板,它是一个非常大的列表(614个数字). maven 使用下面的命令来帮助用户快速开始构建一个新的 Java 项目. mvn ar ...

  10. 解决ubuntu上网慢的方法

    在ubuntu下用firefox等浏览器上网,往往比在windows下上网要慢好多,但细心的人会发现,慢的时间是花在DNS查找上面了.那么 我们可以在本机缓存DNS,也就是在本机架设一个DNS代理服务 ...