搜索
您的当前位置:首页正文

FastJson处理MapList对象

来源:哗拓教育
FastJson处理MapList对象

Fastjson是⼀个语⾔编写的⾼性能功能完善的JSON库。

Fast是⼀个Java语⾔编写的JSON处理器,由开发。

2、功能强⼤,⽀持JDK的各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。3、⽆依赖,不需要例外额外的,能够直接跑在JDK上。

5、具有超⾼的性能,世界⾥没有其他的json库能够和fastjson可相⽐了。⾼性能

fastjson采⽤独创的,将的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的⼆进制协议protocolbuf。⽀持标准功能强⼤

⽀持各种JDK类型。包括基本类型、JavaBean、Collection、Map、Enum、泛型等。⽀持⽆依赖

不需要例外额外的jar,能够直接跑在JDK上。⽀持范围⼴

⽀持JDK 5、JDK 6、、等环境。开源

Apache License 2.0充分

fastjson有超过1500个testcase,每次构建都会跑⼀遍,丰富的测试场景保证了功能稳定。获得fastjson下载

package ivyy.taobao.com.domain.fastjson;

import ivyy.taobao.com.entity.Student;

import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; /**

*@DEMO:json

*@Java:FastJSON.java

*@Date:2015-1-19上午10:28:12 *@Author:龙叔

*@Email:jilongliang@sina.com

*@Weibo:http://weibo.com/jilongliang *@Version:1.0

*@Description:fastjson跟json-lib是语法很像,⼀句话说,所有json都差不多,

*⼤家伙也没不要研究那么多,懂⼀种⾃⼰最擅长⽽且熟悉能解决⾃⼰要解决的问题就OK, *从fastjson反编译过来看 你就看到pom.xml⾥⾯的配置肯定能看到json-lib,此时能 *证明fastjson就是运⽤了json-lib! *

*-------------------------------------------- *

org.codehaus.jackson jackson-smile

1.9.9 test

*--------------------------------------------

com.googlecode.json-simple json-simple 1.1 test

-------------------------------------------- *

net.sf.json-lib json-lib 2.4

jdk15 test

-------------------------------------------- */

public class FastJSON {

/**

* @param args */

public static void main(String[] args) throws Exception{ //string2Json(); //string2Object(); //string2List();

map2json(); map2JSON(); } /**

* 通过fastjson把字符串转换成JSON数据 * TypeReference */

public static void string2Json(){

StringBuffer buffer=new StringBuffer(); buffer.append(\"{\");

buffer.append(\"\\\"age\\\":\").append(\"27\").append(\

buffer.append(\"\\\"userName\\\":\").append(\"\\\"龙叔\\\"\").append(\ buffer.append(\"\\\"address\\\":\").append(\"\\\"⼴东省云浮市\\\"\"); buffer.append(\

String jsonText=buffer.toString();

JSONObject jobj=JSON.parseObject(jsonText); String address=jobj.get(\"address\").toString(); System.out.println(address); } /**

* 通过fastjson把字符串转换成对象 * TypeReference */

public static void string2Object(){

StringBuffer buffer=new StringBuffer(); buffer.append(\"{\");

buffer.append(\"\\\"age\\\":\").append(\"27\").append(\

buffer.append(\"\\\"userName\\\":\").append(\"\\\"龙叔\\\"\").append(\ buffer.append(\"\\\"address\\\":\").append(\"\\\"⼴东省云浮市\\\"\"); buffer.append(\

String jsonText=buffer.toString();

//⽅法⼀ 把json字符串转成Student对象

Student stu1 = JSON.parseObject(jsonText, new TypeReference(){}); //⽅法⼆ 把json字符串转成Student对象

Student stu2 = JSON.parseObject(jsonText,Student.class);

System.out.println(stu1.getAddress()); System.out.println(stu2.getAddress()); } /**

* 通过fastjson把字符串转换成泛型数组 * TypeReference */

public static void string2List(){

StringBuffer buffer=new StringBuffer(); buffer.append(\"[{\");

buffer.append(\"\\\"age\\\":\").append(\"27\").append(\

buffer.append(\"\\\"userName\\\":\").append(\"\\\"龙叔\\\"\").append(\ buffer.append(\"\\\"address\\\":\").append(\"\\\"⼴东省云浮市\\\"\"); buffer.append(\

String jsonText=buffer.toString(); //转成成数组

Student[] stu2 = JSON.parseObject(jsonText,new TypeReference(){}); List list = Arrays.asList(stu2);

for(Student st:list){

System.out.println(st.getAddress()); }

// 转换成ArrayList

ArrayList list2 = JSON.parseObject(jsonText, new TypeReference>(){});

for (int i = 0; i < list2.size(); i++) { Student obj =(Student) list2.get(i); System.out.println(obj.getAddress()); } } /**

* 通过fastjson把Map换成字符串转 */

public static void map2json(){ //创建⼀个Map对象

Map map = new HashMap(); map.put(\"username\周伯通\");

map.put(\"address\⼴东省仙游⾕\"); map.put(\"age\

String json = JSON.toJSONString(map,true); //转成JSON数据

Map map1 = (Map)JSON.parse(json); //遍历数组数据

for (String key : map1.keySet()) {

System.out.println(key+\":\"+map1.get(key)); } } /**

* 通过fastjson把Map换成字符串转 */

public static void map2JSON() { Map map = new HashMap(); map.put(\"username\周伯通\");

map.put(\"address\⼴东省仙游⾕\"); map.put(\"age\

String json = JSON.toJSONString(map); Map map1 = JSON.parseObject(json); for (Object obj : map.entrySet()) {

Map.Entry entry = (Map.Entry) obj; System.out.println(entry.getKey() + \"--->\" + entry.getValue()); } } }

package ivyy.taobao.com.entity;

import java.io.Serializable; /**

*@Author:liangjl *@Date:2014-12-19 *@Version:1.0 *@Description: */

public class Student implements Serializable{ private Integer age; private String sex;

private String userName; private String birthday; private String address; private String email;

public Integer getAge() { return age; }

public void setAge(Integer age) { this.age = age; }

public String getSex() { return sex;

}

public void setSex(String sex) { this.sex = sex; }

public String getUserName() { return userName; }

public void setUserName(String userName) { this.userName = userName; }

public String getBirthday() { return birthday; }

public void setBirthday(String birthday) { this.birthday = birthday; }

public String getAddress() { return address; }

public void setAddress(String address) { this.address = address; }

public String getEmail() { return email; }

public void setEmail(String email) { this.email = email; } }

因篇幅问题不能全部显示,请点此查看更多更全内容

Top