码迷,mamicode.com
首页 > Web开发 > 详细

FastJson的常用操作

时间:2017-11-27 23:48:48      阅读:388      评论:0      收藏:0      [点我收藏+]

标签:org   package   比较   highlight   user   out   main   参考   null   

转载: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"
true
true
1.1
1.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的常用操作

标签:org   package   比较   highlight   user   out   main   参考   null   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!