分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

FastJson的常用操作

发布时间:2023-09-06 01:27责任编辑:彭小芳关键词:暂无标签

转载:https://www.cnblogs.com/Ming8006/p/6944954.html

常用操作包括以下内容:

  1. 对象与(JsonObject或JsonArray)与String的互换
  2. String转换为(JsonObject或JsonArray)如何保持顺序
  3. Eval的使用
  4. 值为null的(JsonObject或JsonArray)转换为String时如何保存

代码:

package Demo.Sample1;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONPath;import com.alibaba.fastjson.parser.Feature;import com.alibaba.fastjson.serializer.SerializerFeature;public class Sample { ???public static void main(String[] args) { ???????????????Group group = GenerateGroup(); ???????String ss="{\"id\":1.1,\"name\":\"admin\",\"users\":[{\"id\":2.2,\"name\":\"guest\"},{\"id\":3.3,\"name\":\"root\"}]}"; ???????????????Group groupWithNull=GenerateGroupWithNull(); ???????????????BasicObjectToStringCompare(); ???????JsonObjectToStringCompare(ss); ???????NJsonObjectToStringCompare(group); ???????JsonStringSequence(group, ss); ???????????????JsonEval(ss,"$.users"); ???????DealWithNullToStringString(groupWithNull); ???????????} ???????public static void BasicObjectToStringCompare() ???{ ???????System.out.println("---------- 基元类型 toString() toJSONString() 比较: ----------"); ???????System.out.println("ZifuChuan"); ???????System.out.println(JSON.toJSONString("ZifuChuan")); ???????System.out.println(true); ???????System.out.println(JSON.toJSONString(true)); ???????System.out.println(1.1); ???????System.out.println(JSON.toJSONString(1.1)); ???} ???????public static String NJsonObjectToStringCompare(Group group) { ???????String jsonString = JSON.toJSONString(group); ???????System.out.println("---------- 非JsonObject toString() toJSONString() 比较: ----------"); ???????System.out.println(group.toString()); ???????System.out.println(JSON.toJSONString(group)); ???????return jsonString; ???} ???????public static String JsonObjectToStringCompare(String ss) { ???????Object o=JSON.parse(ss,Feature.OrderedField); ???????System.out.println("---------- JsonObject toString() toJSONString() 比较: ----------"); ???????System.out.println(o.toString()); ???????System.out.println(JSON.toJSONString(o)); ???????return ss; ???} ???????public static void JsonStringSequence(Group group, String jsonString) { ???????System.out.println("---------- 是否有序: ----------"); ???????Object o=JSON.parse(jsonString); ???????System.out.println(o.toString());; ???????????????Object o1=JSON.parse(jsonString,Feature.OrderedField); ???????System.out.println(o1.toString()); ???????????????Object o2 = JSON.toJSON(group); ???????System.out.println(o2.toString()); ???} ???????public static void JsonEval(String ss,String jsonPath) { ???????System.out.println("---------- Json Eval: ----------"); ???????????????Object o3=JSONPath.eval(JSON.parse(ss,Feature.OrderedField),jsonPath); ???????System.out.println(o3.toString()); ???} ???public static void DealWithNullToStringString(Group groupWithNull) { ???????System.out.println("---------- JsonObject with null emlement: ----------"); ???????System.out.println(JSON.toJSONString(groupWithNull)); ???????System.out.println(JSON.toJSONString(groupWithNull,SerializerFeature.WriteMapNullValue)); ???} ???????private static Group GenerateGroup() { ???????Group group = new Group(); ???????group.setId(1.1); ???????group.setName("admin"); ???????User guestUser = new User(); ???????guestUser.setId(2.2); ???????guestUser.setName("guest"); ???????User rootUser = new User(); ???????rootUser.setId(3.3); ???????rootUser.setName("root"); ???????group.addUser(guestUser); ???????group.addUser(rootUser); ???????return group; ???} ???????private static Group GenerateGroupWithNull() { ???????Group group = new Group(); ???????group.setId(1.1); ???????group.setName(""); ???????User guestUser1 = new User(); ???????guestUser1.setId(null); ???????guestUser1.setName("guest"); ???????User guestUser2 = new User(); ???????guestUser2.setId(3.3); ???????????????User guestUser3 = new User(); ???????????????group.addUser(guestUser1); ???????group.addUser(guestUser2); ???????group.addUser(guestUser3); ???????return group; ???}}

  结果:

---------- 基元类型 toString() toJSONString() 比较: ----------ZifuChuan"ZifuChuan"truetrue1.11.1---------- JsonObject toString() toJSONString() 比较: ----------{"id":1.1,"name":"admin","users":[{"id":2.2,"name":"guest"},{"id":3.3,"name":"root"}]}{"id":1.1,"name":"admin","users":[{"id":2.2,"name":"guest"},{"id":3.3,"name":"root"}]}---------- 非JsonObject toString() toJSONString() 比较: ----------Demo.Sample1.Group@23ab930d{"id":1.1,"name":"admin","users":[{"id":2.2,"name":"guest"},{"id":3.3,"name":"root"}]}---------- 是否有序: ----------{"name":"admin","id":1.1,"users":[{"name":"guest","id":2.2},{"name":"root","id":3.3}]}{"id":1.1,"name":"admin","users":[{"id":2.2,"name":"guest"},{"id":3.3,"name":"root"}]}{"name":"admin","id":1.1,"users":[{"name":"guest","id":2.2},{"name":"root","id":3.3}]}---------- Json Eval: ----------[{"id":2.2,"name":"guest"},{"id":3.3,"name":"root"}]---------- JsonObject with null emlement: ----------{"id":1.1,"name":"","users":[{"name":"guest"},{"id":3.3},{}]}{"id":1.1,"name":"","users":[{"id":null,"name":"guest"},{"id":3.3,"name":null},{"id":null,"name":null}]}

参考:

[1] Introducing JSON

http://www.json.org/

[2] FastJson 教程

 https://www.w3cschool.cn/fastjson/%20

FastJson的常用操作

原文地址:http://www.cnblogs.com/MasterJ/p/7906309.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved