演示实体类

import java.util.List;
public class Student {
public String name;
public int age;
public List<String> score;
}

JSON.toJSONString方法的使用

JSON.toJSONString(Object object)方法 :

方法定义 : public static final String toJSONString(Object object) ;

方法作用 : 将 java bean 转为 json 字符串;

方法位置 : String com.alibaba.fastjson.JSON.toJSONString(Object object) ;

参数介绍 : Object object -> 要转换的实体类对象;

JSON.toJSONString(Object object, boolean prettyFormat)方法 :

方法定义 : public static final String toJSONString(Object object, boolean prettyFormat) ;

方法作用 : 将java bean 转为json字符串,并将json字符串格式化;

方法位置 : String com.alibaba.fastjson.JSON.toJSONString(Object object, boolean prettyFormat) ;

参数介绍 : Object object要转换的实体类对象, boolean prettyFormat是否将 json 字符串格式化 如果 false 与 上面的方法作用相同;


演示代码:

Student student = new Student();
student.age = 18;
student.name = "张三";
ArrayList<String> list = new ArrayList<>();
list.add("90");
list.add("20");
list.add("50");
student.score = list;
String s1 = JSON.toJSONString(student);
System.out.println("json字符串数据 : " + s1);
String s2 = JSON.toJSONString(student,true);
System.out.println("json字符串格式化数据: " + s2);

打印输出:


JSON.toJSON 方法的使用

JSON.toJSON(Object javaObject) 方法

方法定义 : public static final Object toJSON(Object javaObject) ;

方法作用 : 将 java bean 对象转为 JSONObject 对象, 或者将 集合 转为 JSONArray 对象;

方法位置 : Object com.alibaba.fastjson.JSON.toJSON(Object javaObject) ;

参数介绍 : Object javaObject:java bean 对象 或者 集合;

关键代码解析 :

-- Java Bean 转 JSONObject : JSONObject object = (JSONObject)
JSON.toJSON(student_s);

-- Java 集合 转 JSONArray : JSONArray array = (JSONArray)
JSON.toJSON(students);

JSONOject 和 JSONArray 打印 : 这两种对象 打印本身, toString() 以及
toJSONString() 都是相同的结果, 详见下面的示例;

Student student = new Student();
student.age = 18;
student.name = "张三";
ArrayList<String> list = new ArrayList<>();
list.add("90");
list.add("20");
list.add("50");
student.score = list;
ArrayList<Student> list2 = new ArrayList<>();
list2.add(student);
JSONObject object = (JSONObject )JSON.toJSON(student);
System.out.println("object"+object.toString());
JSONArray jsonArray = (JSONArray) JSON.toJSON(list2);
System.out.println("jsonArray"+jsonArray.toString());

打印结果:

注意:JSONArray和JSONObject导包一定要导入的是alibaba下的包

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

JSON.parseObject方法的使用

JSONObject
parseObject(String text) 方法 :

方法定义 : public static final JSONObject parseObject(String text);

方法作用 : 将 json 字符串类型转化为 JSONObject 对象;

方法位置 : JSONObject com.alibaba.fastjson.JSON.parseObject(String text);

参数介绍 : String text:json 字符串;

<T> T parseObject(String text, Class<T> clazz) 方法
:

方法定义 : public static final <T> T parseObject(String text,
Class<T> clazz);

方法作用 : 将 json 字符串转为指定类型的 java bean 对象;

方法位置 : <T> T com.alibaba.fastjson.JSON.parseObject(String text,
Class<T> clazz);

参数介绍 : String text :json 字符串, Class<T> clazz :要转化的 java bean 对象类型;

String json_student = "{'score':['90','20','50'],'age':18,'name':'张三'}";
JSONObject object = JSON.parseObject(json_student);
System.out.println("object:" + object);
Student student = JSON.parseObject(json_student, Student.class);
System.out.println("name=" + student.name + "age=" + student.age);

输出结果:


JSON.parse 方法

Object parse(String text) 方法简介

方法定义 : public static final Object parse(String text);

方法作用 : 将 json 字符串转为 JSONObject 或者 JSONArray 对象;

方法位置 : Object com.alibaba.fastjson.JSON.parse(String text);

参数介绍 : String text :json 字符串;

String json_student = "{'score':['90','20','50'],'age':18,'name':'张三'}";
//将 json 字符串转为 JSONObect 对象
JSONObject object = (JSONObject) JSON.parse(json_student);
//打印 JSONObject 对象
System.out.println(object);
//将 json 字符串 转为 JSONArray 对象
ArrayList<String> json_array = new ArrayList<>();
json_array.add(json_student);
JSONArray array = (JSONArray) JSON.parse(String.valueOf(json_array));
//打印 JSONArray 对象
System.out.println(array);

打印结果输出:


JSONObject 方法

获取 JSONObject 中元素 : 获取 String 就调用 jsonObject.getString("key"), 获取 boolean 调用 jsonObject.getBoolean("key"), 同理还可以获取其它类型的数据;

向 JSONObject 中添加元素 : object.put("action", "fuck");

向 JSONObject 中添加多个元素 : 将一个 Map 集合添加到 JSONObject 中, Map 集合的键必须是 String 类型;

移除 JSONObject 中的属性 : jsonObject.remove("key"), 参数是 键;

获取 JSONObject 中元素个数 : jsonObject.size();

//创建对象
JSONObject jsonObject = new JSONObject();
//向 JSONObject 中添加元素
jsonObject.put("name","张三");
jsonObject.put("age",18);
//获取 JSONObject 中元素
Boolean isOpen = jsonObject.getBoolean("isOpen");
String name = jsonObject.getString("name");
Map<String, String> map = new HashMap<>();
map.put("home", "American");
map.put("school", "harvard");
// 向 JSONObject 中添加多个元素
jsonObject.putAll(map);
//移除 JSONObject 中的属性
jsonObject.remove("name") ;
//获取 JSONObject 中元素个数size
int size = jsonObject.size();

数据解析框架之FastJson的更多相关文章

  1. 数据解析框架之Gson

    GSON是由Google提供的,用于JAVA对象与JSON字符串之间互相转换的一个解决方案.用处很多,比如在前后台通讯中,前台先将java对象转化成JSON,然后将JSON传输给后台交由后台处理——相 ...

  2. 十七、springboot配置FastJson为Spring Boot默认JSON解析框架

    前提 springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用 1.引入fastjson依赖库: maven: <dependen ...

  3. Spring Boot返回json数据及完美使用FastJson解析Json数据

     Spring Boot返回json数据 视频地址:http://www.iqiyi.com/w_19rubxzsr5.html 博文参考:https://blog.csdn.net/linxingl ...

  4. springboot使用fastJson作为json解析框架

    springboot使用fastJson作为json解析框架 springboot默认自带json解析框架,默认使用jackson,如果使用fastjson,可以按照下列方式配置使用 〇.搭建spri ...

  5. [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析

    [DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 场景模拟 假设由于漏存JD SKU对应的店铺信息.这时我们需要重新完全采集所有 ...

  6. iOS边练边学--AFNetWorking框架GET、Post、Download、Upload,数据解析模式以及监控联网状态

    一.AFNETWorking简单使用 get请求 get请求,以后经常用NSURLSession底层的写的部分 简单的post请求 用post请求下载文件,方法很多,还可以通过upload任务来执行 ...

  7. Android Multimedia框架总结(八)Stagefright框架之AwesomePlayer及数据解析器

    转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼:http://blog.csdn.net/hejjunlin/article/details/52503057 前言:前面一篇分析了medi ...

  8. [开源 .NET 跨平台 Crawler 数据采集 爬虫框架: DotnetSpider] [四] JSON数据解析

    [DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 五.如何做全站采集 场景模拟 接上一篇, JD SKU对应的店铺信息是异步加载 ...

  9. 02 . Go框架之Gin框架从入门到熟悉(数据解析和绑定,渲染,重定向,同步异步,中间件)

    数据解析和绑定 json数据解析和绑定 package main import ( "github.com/gin-gonic/gin" "net/http" ...

随机推荐

  1. 蓝牙App漏洞系列分析之三CVE-2017-0645

    蓝牙App漏洞系列分析之三CVE-2017-0645 0x01 漏洞简介 Android 6月的安全公告,同时还修复了我们发现的一个蓝牙 App 提权中危漏洞,该漏洞允许手机本地无权限的恶意程序构造一 ...

  2. Winfrom TextBox 添加水印文字 + 字体颜色

    using System.Drawing; using System.Windows.Forms; namespace KK.WaterMark.Control { public partial cl ...

  3. CentOS7连接无线网络

    背景  CentOS7.6最小化安装,没有网线,幸好有无线网卡.下面我们直接进入主题.  附:安装教程 主题--连接无线网络 最小化安装后,裸机没有ifconfig,没有iw,最可怕的是没有网线 但我 ...

  4. 部署jenkins+git

    Jenkins简介 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能 安装并启动思路: 安装准备 ...

  5. [转载]Spark-Task not serializable错误解析

    Spark-Task not serializable错误解析 2018年05月17日 15:33:03 沙拉控 阅读数:1509   在学习SparkStreaming的时候偶然出现的一个问题,先看 ...

  6. mybatis中#{}和${}的区别(转载)

    原文地址:http://www.cnblogs.com/baizhanshi/p/5778692.html 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by ...

  7. 简单的了解Servlet的使用

    具体使用: 1.实现 Servlet 接口 2.实现 Servlet 接口中 所有的方法 package com.ou.test; import javax.servlet.*; import jav ...

  8. vector引用参数

    #include<iostream> #include<vector> using namespace std; //定义一个计算数字的函数,返回计算后的vector numb ...

  9. 深入理解python协程

    目录 概述 生成器变形 yield/send yield send yield from asyncio.coroutine和yield from async和await 概述 由于 cpu和 磁盘读 ...

  10. 【C#-程序时间计数器】如何计算某些步骤/过程耗时多少?

    使用Stopwatch对象,TimeSpan对象 Stopwatch sw = new Stopwatch();//跑表,该类可以进行时间的统计 命名空间using System.Diagnostic ...