package junit.test;  

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
/*
* 这里将json的转化和解析都放在一起了,大家可以根据实际需要来转化json字符串和解析json字符串
*/
public class TestFastJson { static class Person{
private String id ;
private String name;
private int age ; public Person(){ }
public Person(String id,String name,int age){
this.id=id;
this.name=name;
this.age=age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person [age=" + age + ", id=" + id + ", name=" + name + "]";
} }
public static void main(String[] args) {
method1();
method2();
method3();
method4();
} static void method1(){
System.out.println("javabean转化示例开始----------");
Person person = new Person("","fastjson",); //这里将javabean转化成json字符串
String jsonString = JSON.toJSONString(person);
System.out.println(jsonString);
//这里将json字符串转化成javabean对象,
person =JSON.parseObject(jsonString,Person.class);
System.out.println(person.toString()); System.out.println("javabean转化示例结束----------");
} static void method2(){
System.out.println("List<javabean>转化示例开始----------"); Person person1 = new Person("","fastjson1",);
Person person2 = new Person("","fastjson2",);
List<Person> persons = new ArrayList<Person>();
persons.add(person1);
persons.add(person2);
String jsonString = JSON.toJSONString(persons);
System.out.println("json字符串:"+jsonString); //解析json字符串
List<Person> persons2 = JSON.parseArray(jsonString,Person.class);
//输出解析后的person对象,也可以通过调试模式查看persons2的结构
System.out.println("person1对象:"+persons2.get().toString());
System.out.println("person2对象:"+persons2.get().toString()); System.out.println("List<javabean>转化示例结束----------");
} static void method3(){
System.out.println("List<String>转化示例开始----------");
List<String> list = new ArrayList<String>();
list.add("fastjson1");
list.add("fastjson2");
list.add("fastjson3");
String jsonString = JSON.toJSONString(list);
System.out.println("json字符串:"+jsonString); //解析json字符串
List<String> list2 = JSON.parseObject(jsonString,new TypeReference<List<String>>(){});
System.out.println(list2.get()+"::"+list2.get()+"::"+list2.get());
System.out.println("List<String>转化示例结束----------"); } static void method4(){
System.out.println(" List<Map<String,Object>>转化示例开始 ----------");
Map<String,Object> map = new HashMap<String,Object>();
map.put("key1", "value1");
map.put("key2", "value2");
Map<String,Object> map2 = new HashMap<String,Object>();
map2.put("key1", );
map2.put("key2", );
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
list.add(map);
list.add(map2);
String jsonString = JSON.toJSONString(list);
System.out.println("json字符串:"+jsonString);
//解析json字符串
List<Map<String,Object>> list2 = JSON.parseObject(jsonString,new TypeReference<List<Map<String,Object>>>(){}); System.out.println("map的key1值"+list2.get().get("key1"));
System.out.println("map的key2值"+list2.get().get("key2"));
System.out.println("ma2p的key1值"+list2.get().get("key1"));
System.out.println("map2的key2值"+list2.get().get("key2"));
} }

使用fastjson进行转换的更多相关文章

  1. 小BUG大原理:FastJSON实体转换首字母小写的尴尬事件

    问题描述 因为项目连接的Oracle数据库,字段名映射方便使用大写,但是通过接口调用返回到前端的字段名首字母为小写,这样带来的问题前端显示的字段就需要写这种很尴尬的格式. 原因分析 开发环境使用的是S ...

  2. fastjson数据格式转换 SerializerFeature属性详解

    SerializerFeature属性 名称 含义 备注 QuoteFieldNames 输出key时是否使用双引号,默认为true   UseSingleQuotes 使用单引号而不是双引号,默认为 ...

  3. FastJson、Jackson、Gson进行Java对象转换Json细节处理

    前言 Java对象在转json的时候,如果对象里面有属性值为null的话,那么在json序列化的时候要不要序列出来呢?对比以下json转换方式 一.fastJson 1.fastJson在转换java ...

  4. FastJson、Jackson、Gson进行Java对象转换Json的细节处理

    前言 Java对象在转json的时候,如果对象里面有属性值为null的话,那么在json序列化的时候要不要序列出来呢?对比以下json转换方式 一.fastJson 1.fastJson在转换java ...

  5. fastjson转换数字时,格式化小数点

    使用fastjson类库转换java对象时,对于BigDecimal类型,有时需要特殊格式,比如: 1.0,转为json时候,要求显式为1,因此需要在转换时做处理.步骤如下: 1.新建类,实现Valu ...

  6. SpringBoot更改HttpMessageConverters使用FastJson出现乱码问题

    1.出现问题的现象!如下截图,使用SpringBoot 进行开发,接口返回的内容出现中文乱码? 接口内容想要返回的内容: 页面返回内容: 惊喜不?意外不? 为什么出现这个情况?不例外的话,很多同事都是 ...

  7. scala中json与对象的转换

    遇到的问题 因为要把spark从es读出来的json数据转换为对象,开始想用case class定义类型,通过fastjson做转换.如下 case class Book (author: Strin ...

  8. fastjson循环引用 问题@ManyToOne @OneToOne返回数据中"$ref"问题

    返回数据为 这样前端就无法获取正确数据(至少是不改变代码,不增加代码量的情况下) 所以还是改返回值比较好 根据查阅 https://blog.csdn.net/qq_38487524/article/ ...

  9. Java对象转换Json的细节处理

    一.fastJson 1.fastJson在转换java对象为json的时候,默认是不序列化null值对应的key的 也就是说当对象里面的属性为空的时候,在转换成json时,不序列化那些为null值的 ...

随机推荐

  1. Android-项目所有文件报红色j,状态栏无法Run 'app'

    项目所有文件报红色j,不可用状态 状态栏如下: 无法 Run 'app' 无法 Debug 'app' ........... 以下操作按钮灰色的,无法点击: 解决方案: 只需要:Sync Proje ...

  2. 射线与平面的相交检测(Ray-Plane intersection test)【转】

    射线的定义 在欧几里德几何中,射线的定义是:直线上一点和它一旁的部分.由此可知,射线有两个性质,一是只有一个端点,二是一端无限延伸. 射线的参数方程 其中p0是射线的起点, u是射线的方向向量,t & ...

  3. HttpWebRequest 模拟浏览器访问网站

    最近抓网页时报错: 要么返回 The remote server returned an error: (442)要么返回: 非法访问,您的行为已被WAF系统记录! 想了想,就当是人家加了抓网页的东西 ...

  4. 蚂蚁男孩.缓存组件(Framework.Mayiboy.Caching)

    它能做什么? 主要是用来方便使用缓存而诞生,该组件封装了RunTimeCache.Memcached.Redis的使用,通过简单配置就能高效快速使用起来. 使用说明 一.    下载源码,自己手动编译 ...

  5. 在Windows安装Reids 详解

    今天安装了redis,记录点经验 因为Redis项目没有正式支持Windows. 但Microsoft开发和维护一个针对Windows 64版的redis. 下载地址在微软的GitHub上,地址:ht ...

  6. 登录状态保持Session/Cookie

    登录成功: 1.Session保存User对象. 2.Cookie保存唯一值UserID(或者usercode)和加密Sign(生成规则自己定义,MD5用户名,用户ID,私有串等),并设置过期时间. ...

  7. python 发qq邮件

    import smtplibfrom email.mime.text import MIMETextmsg_from = '979477675@qq.com' # 发送方邮箱passwd = 'irg ...

  8. jzoj5894

    先前綴和一發,問題表示求[0-l2][0-r2]滿足條件的數的個數 假設可以把某一個數拆分成[前面任意個數][00-0-11-1(個數相同)]的區間 那麼問題會簡單的多,因為任意一個a位的整數分別xo ...

  9. JVM之JIT

    JIT技术是JVM中最重要的核心模块之一.我的课程里本来没有计划这一篇,但因为不断有朋友问起,Java到底是怎么运行的?既然Hotspot是C++写的,那Java是不是可以说运行在C++之上呢?为了澄 ...

  10. window主机和centos主机之间相互传送文件

    命令实现linux和window文件传送 一:下载配置pscp软件从http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html下载p ...