关于云端JSON 数据的解析

转载 2016年05月30日 13:41:02

关于云端返回的JSON数据,如何直接转换为定义的类,最好还是使用fastjson,感觉很不错的一个库。

fastjson下载https://github.com/alibaba/fastjson

部分内容转载自http://blog.csdn.net/zeuskingzb/article/details/17468079

Fastjson介绍

Fastjson是一个Java语言编写的JSON处理器。
1、遵循http://json.org标准,为其官方网站收录的参考实现之一。
2、功能qiang打,支持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。
3、无依赖,不需要例外额外的jar,能够直接跑在JDK上。
4、开源,使用Apache License 2.0协议开源。http://code.alibabatech.com/wiki/display/FastJSON/Home

如果获得Fastjson?
SVN:http://code.alibabatech.com/svn/fastjson/trunk/
WIKI:http://code.alibabatech.com/wiki/display/FastJSON/Home
Issue Tracking:http://code.alibabatech.com/jira/browse/FASTJSON

如果你使用了Maven,maven repository配置如下:
<repository>
	<id>opensesame</id>
	<name>Alibaba OpenSource Repsoitory</name>
	<url>http://code.alibabatech.com/mvn/releases/</url>
	<snapshots>
		<enabled>false</enabled>
	</snapshots>
</repository>

pom.xml文件中加入依赖依赖:
<dependency>
	<groupId>com.alibaba</groupId>
	<artifactId>fastjson</artifactId>
	<version>1.0.4</version>
</dependency>

如果没有使用maven,可以直接下载:
http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/1.0.4/fastjson-1.0.4.jar
http://code.alibabatech.com/mvn/releases/com/alibaba/fastjson/1.0.4/fastjson-1.0.4-sources.jar


使用介绍:
Fastjson的最主要的使用入口是com.alibaba.fastjson.JSON

import com.alibaba.fastjson.JSON;

public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。

代码示例:
代码示例用到类User和Group:
public class User {
	private Long id;
	private String name;

	public Long getId() { return id; }
	public void setId(Long id) { this.id = id; }

	public String getName() { return name; }
	public void setName(String name) { this.name = name; }
}
public class Group {
	private Long id;
	private String name;
	private List<User> users = new ArrayList<User>();

	public Long getId() { return id; }
	public void setId(Long id) { this.id = id; }

	public String getName() { return name; }
	public void setName(String name) { this.name = name; }

	public List<User> getUsers() { return users; }
	public void setUsers(List<User> users) { this.users = users; }
}

Encode代码示例:
import com.alibaba.fastjson.JSON;

Group group = new Group();
group.setId(0L);
group.setName("admin");

User guestUser = new User();
guestUser.setId(2L);
guestUser.setName("guest");

User rootUser = new User();
rootUser.setId(3L);
rootUser.setName("root");

group.getUsers().add(guestUser);
group.getUsers().add(rootUser);

String jsonString = JSON.toJSONString(group);

System.out.println(jsonString);

Decode 代码示例:
Group group2 = JSON.parseObject(jsonString, Group.class);

Android客户端与服务器端交互数据之json解析

服务器端的工作就是将特定的数据类型转换为json字符串,然后客户端再将json字符串转换成原来的类型,所以json解析是跨平台数据格式转换的一个桥梁, 这里以最常用的对象类型,list包裹对象类型,l...
  • zml_2015
  • zml_2015
  • 2016年02月03日 01:42
  • 22067

第三讲:创建云端的SQL数据库(学习笔记)

1.SQL DB可以实现非常自动化的管理:数据的复制、自动数据备份 2.
  • luohuaxinyue
  • luohuaxinyue
  • 2015年12月08日 15:22
  • 1858

json解析数据详解

对于服务器端来说,返回给客户端的数据格式一般分为html、xml和json这三种格式,那么本篇随笔将讲解一下json这个知识点,包括如何通过json-lib和gson这两个json解析库来对解析我们的...
  • shaozucheng
  • shaozucheng
  • 2014年05月26日 19:13
  • 1526

如何用JSON数据来表示“张三的颜值很高”?

在办公室做了一天的PPT,晚饭的时候猛然想起今天要写点教程的。于是乎三下两下扒完饭就赶紧开始写教程了!(建议使用网页端浏览更清晰!)    上次教程中,我主要简单地介绍了JSON数据结构以及其特点,...
  • linzi0
  • linzi0
  • 2015年11月19日 19:50
  • 613

对JavaScript解析JSON格式数据的理解

对JavaScript解析JSON格式数据的理解 一、JSON与JavaScript对象的关系      1,JSON的由来:               在21世纪初,Douglas Croc...
  • qq_24754061
  • qq_24754061
  • 2017年03月24日 19:13
  • 348

自己对前台解析Json、后台生成Json的理解和测试

这次练习只用到了前台JSP页面和后台Controller里方法,不走数据库。在controller里模拟数据库。 首先建了一个student实体类。然后在controller里创建3个对象。 s...
  • binghuazheng
  • binghuazheng
  • 2017年08月01日 18:01
  • 187

解析服务器返回的Json 数据的工具类

/** * 解析服务器返回的Json 数据的工具类 * Created by leven on 2016/10/26. */ public class JsonParseUtils { ...
  • Leven_Martin
  • Leven_Martin
  • 2017年01月11日 17:37
  • 439

[留言板]欢迎大家在此留言

大家请在此回复留言!:P
  • coolshine
  • coolshine
  • 2004年12月02日 13:07
  • 459

Android高性能JSON数据解析

Android高性能JSON数据解析 原文链接 : Hi Performance JSON Parsing in Android 原文作者 : DONN FELKER 译文出自 : ...
  • Mr_dsw
  • Mr_dsw
  • 2016年01月20日 10:23
  • 1407

复杂json数据的解析

之前写过一篇  GSON解析json数据总结 现在附载一篇整合复杂多层嵌套的json数据解析总结 解析复杂实例一: { "data": { "fee...
  • playsit
  • playsit
  • 2016年09月07日 17:59
  • 1764
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于云端JSON 数据的解析
举报原因:
原因补充:

(最多只允许输入30个字)