User类
import lombok.Data;
@Data
public class User {
/**
* 姓名
*/
String NAME;
/**
* 年龄
*/
Integer AGE;
public User(String name, Integer age) {
super();
NAME = name;
AGE = age;
}
}
测试类:
import com.alibaba.fastjson.JSONObject;
public class Test {
public static void main(String[] args) {
User user = new User("张三", 18);
System.out.println(JSONObject.toJSONString(user));
}
}
输入
{"aGE":18,"nAME":"张三"}
@Data
public class User {
/**
* 姓名
*/
@JSONField(name = "NAME")
String NAME;
/**
* 年龄
*/
@JSONField(name = "AGE")
Integer AGE;
public User(String name, Integer age) {
super();
NAME = name;
AGE = age;
}
}
输出如下:
{"AGE":18,"NAME":"张三"}
测试类:
import com.alibaba.fastjson.JSONObject;
public class Test {
public static void main(String[] args) {
User user = new User("张三", 18);
// 开启转化后的字符串首字母大写
TypeUtils.compatibleWithJavaBean = true;
System.out.println(JSONObject.toJSONString(user));
}
}
输出如下:
{"AGE":18,"NAME":"张三"}
测试类:
import com.alibaba.fastjson.JSONObject;
public class Test {
public static void main(String[] args) {
User user = new User("张三", 18);
System.out.println(JSON.toJSONString(user, new PascalNameFilter(), SerializerFeature.WriteMapNullValue));
}
}
输出如下:
{"AGE":18,"NAME":"张三"}
测试类:
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class Test {
public static void main(String[] args) {
String str= "{\"sqid\":\"000000001\",\"sfzhm\":\"110101198506020038\",\"xm\":\"姓名\",\"sjh\":\"15184613226\",\"xdacfd\":\"01\",\"qtbz\":\"其他备注\",\"xhjqxzqh\":\"110101000000\",\"xhjdz\":\"现户籍地址\",\"cslsgzksy\":\"201801\",\"cslsgzjsy\":\"201812\",\"lsgzdwmc\":\"临时工作单位名称\",\"lsgzhjd\":\"110101000000\",\"lsgzdwsfcz\":\"1\",\"sftx\":\"1\",\"grsq\":\"个人诉求\",\"sfktgzm\":\"0\",\"lsgzdwszq\":\"110101000000\",\"sqsj\":\"20200807135600\"}";
System.out.println("转换前:"+str);
JSONObject obj = (JSONObject) JSONObject.parse(str);
System.out.println("-------------------------------------------------------");
System.out.println("转换后:"+obj.toJSONString());
}
}
输出:
转换前:{"sqid":"000000001","sfzhm":"110101198506020038","xm":"姓名","sjh":"15184613226","xdacfd":"01","qtbz":"其他备注","xhjqxzqh":"110101000000","xhjdz":"现户籍地址","cslsgzksy":"201801","cslsgzjsy":"201812","lsgzdwmc":"临时工作单位名称","lsgzhjd":"110101000000","lsgzdwsfcz":"1","sftx":"1","grsq":"个人诉求","sfktgzm":"0","lsgzdwszq":"110101000000","sqsj":"20200807135600"}
-------------------------------------------------------
转换后:{"sqsj":"20200807135600","sftx":"1","lsgzdwsfcz":"1","cslsgzjsy":"201812","cslsgzksy":"201801","sfzhm":"110101198506020038","lsgzhjd":"110101000000","sfktgzm":"0","sqid":"000000001","lsgzdwszq":"110101000000","qtbz":"其他备注","sjh":"15184613226","xm":"姓名","lsgzdwmc":"临时工作单位名称","xhjqxzqh":"110101000000","xdacfd":"01","grsq":"个人诉求","xhjdz":"现户籍地址"}
import java.util.LinkedHashMap;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
public class Test_0811 {
public static void main(String[] args) {
String str = "{\"sqid\":\"000000001\",\"sfzhm\":\"110101198506020038\",\"xm\":\"姓名\",\"sjh\":\"15184613226\",\"xdacfd\":\"01\",\"qtbz\":\"其他备注\",\"xhjqxzqh\":\"110101000000\",\"xhjdz\":\"现户籍地址\",\"cslsgzksy\":\"201801\",\"cslsgzjsy\":\"201812\",\"lsgzdwmc\":\"临时工作单位名称\",\"lsgzhjd\":\"110101000000\",\"lsgzdwsfcz\":\"1\",\"sftx\":\"1\",\"grsq\":\"个人诉求\",\"sfktgzm\":\"0\",\"lsgzdwszq\":\"110101000000\",\"sqsj\":\"20200807135600\"}";
System.out.println("转换前:" + str);
JSONObject obj = (JSONObject) JSONObject.parse(str);
System.out.println("-------------------------------------------------------");
System.out.println("转换后:" + obj.toJSONString());
System.out.println("-------------------------------------------------------");
LinkedHashMap<String, Object> jsonMap = JSON.parseObject(str, LinkedHashMap.class, Feature.OrderedField);
JSONObject obj1 = new JSONObject(true);
obj1.putAll(jsonMap);
System.out.println("转换后:" + obj1.toJSONString());
}
}
输出:
转换前:{"sqid":"000000001","sfzhm":"110101198506020038","xm":"姓名","sjh":"15184613226","xdacfd":"01","qtbz":"其他备注","xhjqxzqh":"110101000000","xhjdz":"现户籍地址","cslsgzksy":"201801","cslsgzjsy":"201812","lsgzdwmc":"临时工作单位名称","lsgzhjd":"110101000000","lsgzdwsfcz":"1","sftx":"1","grsq":"个人诉求","sfktgzm":"0","lsgzdwszq":"110101000000","sqsj":"20200807135600"}
-------------------------------------------------------
转换后:{"sqsj":"20200807135600","sftx":"1","lsgzdwsfcz":"1","cslsgzjsy":"201812","cslsgzksy":"201801","sfzhm":"110101198506020038","lsgzhjd":"110101000000","sfktgzm":"0","sqid":"000000001","lsgzdwszq":"110101000000","qtbz":"其他备注","sjh":"15184613226","xm":"姓名","lsgzdwmc":"临时工作单位名称","xhjqxzqh":"110101000000","xdacfd":"01","grsq":"个人诉求","xhjdz":"现户籍地址"}
-------------------------------------------------------
转换后:{"sqid":"000000001","sfzhm":"110101198506020038","xm":"姓名","sjh":"15184613226","xdacfd":"01","qtbz":"其他备注","xhjqxzqh":"110101000000","xhjdz":"现户籍地址","cslsgzksy":"201801","cslsgzjsy":"201812","lsgzdwmc":"临时工作单位名称","lsgzhjd":"110101000000","lsgzdwsfcz":"1","sftx":"1","grsq":"个人诉求","sfktgzm":"0","lsgzdwszq":"110101000000","sqsj":"20200807135600"}
感觉FastJson还是有很多问题的,开发中自己代码写的明明没有问题,结果程序就是报错,还要一点一点的打断点调试,最后发现原来是FastJson工具包的问题,真的很耽误事。以后还是尽量用JackSon或Gson吧。