fastjson

使用FastJson转化Json格式

一个人想着一个人 提交于 2020-01-31 12:42:44
1.下载Jar包 http://repo1.maven.org/maven2/com/alibaba/fastjson/ 2.将jar包导入工程 3.示例 package nc.testFastJson; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; public class TestFastJson { public static void main(String[] args) { // java对象 转 json People p1 = new People("people_1","Male",1); String p1_Json = JSON.toJSONString(p1); System.out.println(p1_Json

通过fastjson将Long类型转换成String类型

限于喜欢 提交于 2020-01-30 04:36:57
后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况。例如: 201511200001725439 这样一个Long类型的整数,传给前端后会变成 201511200001725440 。 解决方法:   方法一:在后台将这个Long类型的字段转换成String类型的,风险比较大。   方法二:使用fastjson的提供的注解, @JSONField(serializeUsing= ToStringSerializer.class) 。 备注:     fastjson在 com.alibaba.fastjson.serializer 包下面提供了多种数据类型转换的注解。   自己也可以拓展这些注解,通过实现 ObjectSerializer 接口来完成。    ToStringSerializer 的代码: public class ToStringSerializer implements ObjectSerializer { public static final ToStringSerializer instance = new ToStringSerializer(); @Override public void write(JSONSerializer serializer, Object object, Object fieldName, Type

fastjson中Map与JSONObject互换

非 Y 不嫁゛ 提交于 2020-01-29 09:25:32
1、//将map转换成jsonObject JSONObject itemJSONObj = JSONObject.parseObject(JSON.toJSONString(itemMap)); 将Map类型的itemInfo转换成json,再经JSONObject转换实现。 2、//将jsonObj转换成Map Map<String, Object> itemMap = JSONObject.toJavaObject(itemJSONObj, Map.class); //JOSN.parseObjet()方法同样可以转换 来源: https://www.cnblogs.com/eternityz/p/12239569.html

fastjson将json字符串转化成map的五种方法

孤街浪徒 提交于 2020-01-29 09:25:09
String str = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}"; //第一种方式 Map maps = (Map)JSON.parse(str); System.out.println("这个是用JSON类来解析JSON字符串!!!"); for (Object map : maps.entrySet()){ System.out.println(((Map.Entry)map).getKey()+" " + ((Map.Entry)map).getValue()); } //第二种方式 Map mapTypes = JSON.parseObject(str); System.out.println("这个是用JSON类的parseObject来解析JSON字符串!!!"); for (Object obj : mapTypes.keySet()){ System.out.println("key为:"+obj+"值为:"+mapTypes.get(obj)); } //第三种方式 Map mapType = JSON.parseObject(str,Map.class); System.out.println("这个是用JSON类,指定解析类型,来解析JSON字符串!!!");

阿里fastjson解析

亡梦爱人 提交于 2020-01-28 21:43:57
解析案例 String object="{total=1, rows=[{_Account=3646808, UserID=131514, Mt4Name=SewwoaIQQS, ServerID=14, InMoney=7911.0, OutMoney=6479.76, Balance=3001.95, Margin=0.0, Equity=2406.6, Profit=-595.35, GroupName=W-Default, Leverage=200, TradeFee=0.0, CreateTime=2017-08-09T06:55:28.14, Status=1, IsReal=0, Credit=0.0}]}"; JSONObject jsonObject= JSON.parseObject(object); JSONArray jsonArray=jsonObject.getJSONArray("rows"); JSONObject detail=jsonArray.getJSONObject(0); Double equity=detail.getDouble("Equity"); 参考 fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换。

Gson和Fastjson序列学习

吃可爱长大的小学妹 提交于 2020-01-28 13:30:39
1、Gson序列化(只关注Field): 可以看出使用GSON序列化,没有getter和setter是可以的,只要有Field就可以,查看源代码可以知道Gson使用Field[] fields = raw.getDeclaredFields()来获取需要序列化的字段; getDeclaredFields可以获取对象的所有字段,但是 GSON排除了被transient和static修饰 的字段Field getDeclaredFields本身不能获取父类的字段,但是GSON内部处理是一直循环到Object对象,最终会序列化出该类及所有父类中的Field class Animal { private String name_a; private Integer age_a; public Animal(String name, Integer age) { this.name_a = name; this.age_a = age; } public String toString() { return "Animal [name_a=" + name_a + ", age_a=" + age_a + "]"; } } class Person extends Animal { private String name_p; private Integer age_p; public

使用FastJSON,将对象或数组和JSON串互转

ぐ巨炮叔叔 提交于 2020-01-27 09:33:49
Fastjson,是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库。 其开源的下载网址为: https://github.com/alibaba/fastjson 。 示例代码如下: [java] view plain copy package test; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSON; class User { private String name; private int age; 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 "User [name=" + name + ", age=" + age + "]"; } }; class UserGroup { private String name; private List

java fastjson:Map与json以及JSONObject ,JSONObject与String互转

馋奶兔 提交于 2020-01-25 19:35:03
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject ; import com.alibaba.fastjson.JSONPath; import com.jayway.jsonpath.Configuration; import com.jayway.jsonpath.JsonPath; import java.util.Map; public class fastTestJson { static void type(Object o){ print(o.getClass().getName()); } public static void main(String[] args) { String obj = "{\"data\":{\"access_token\":\"5a7040ccf66bafd06acd39b6f61c19230eaba426755509646d6da23ddd9fb206\",\"expires_second\":36000},\"rlt_code\":\"HH0000\",\"rlt_msg\":\"成功\"}"; ; JSONObject JS = JSONObject

SpringBoot整合Fastjson

我与影子孤独终老i 提交于 2020-01-25 06:33:58
SpringBoot整合Fastjson 添加Maven依赖 配置FastJsonHttpMessageConverter 添加Maven依赖 由于springboot的web包中默认包含Jackson的配置,若只想使用Fastjson,可进行如下配置: < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - web < / artifactId > < ! -- 移除springMVC内置的Json依赖 -- > < exclusions > < exclusion > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - json < / artifactId > < / exclusion > < / exclusions > < / dependency > < ! -- 添加Fastjson依赖 -- > < dependency > < groupId > com . alibaba < / groupId > < artifactId > fastjson < /

fastjson和Jackson对比

谁都会走 提交于 2020-01-24 04:57:01
测试代码 @Test public void TestJsonSpeed(){ try { Map<String, Object> map = new HashMap<>(); for (int i = 0; i< 100000; i++){ map.put("k"+i, "v"+i); } long beginTime = System.currentTimeMillis(); JSON.toJSONString(map); long endtime = System.currentTimeMillis(); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.writeValueAsString(map); long endtime2 = System.currentTimeMillis(); System.out.println("fastjson: "+ (endtime - beginTime) + "ms"); System.out.println("jackjson: "+ (endtime2 - endtime) + "ms"); }catch (Exception e){ e.printStackTrace(); } } fastjson 版本:1.2.58 Jackson 版本:2.9.9