zoukankan      html  css  js  c++  java
  • FastJson的常用操作

    FastJson的常用操作

    2017-06-05

    常用操作包括以下内容:

    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 {

    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> main(String[] args) {
        
        Group group </span>=<span style="color: #000000;"> GenerateGroup();
        String ss</span>="{"id":1.1,"name":"admin","users":[{"id":2.2,"name":"guest"},{"id":3.3,"name":"root"}]}"<span style="color: #000000;">;        
        Group groupWithNull</span>=<span style="color: #000000;">GenerateGroupWithNull();
        
        BasicObjectToStringCompare();
        JsonObjectToStringCompare(ss);
        NJsonObjectToStringCompare(group);
        JsonStringSequence(group, ss);        
        JsonEval(ss,</span>"$.users"<span style="color: #000000;">);
        DealWithNullToStringString(groupWithNull);        
    }
    
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> BasicObjectToStringCompare()
    {
        System.out.println(</span>"---------- 基元类型 toString() toJSONString() 比较: ----------"<span style="color: #000000;">);
        System.out.println(</span>"ZifuChuan"<span style="color: #000000;">);
        System.out.println(JSON.toJSONString(</span>"ZifuChuan"<span style="color: #000000;">));
        System.out.println(</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);
        System.out.println(JSON.toJSONString(</span><span style="color: #0000ff;">true</span><span style="color: #000000;">));
        System.out.println(</span>1.1<span style="color: #000000;">);
        System.out.println(JSON.toJSONString(</span>1.1<span style="color: #000000;">));
    }
    
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span><span style="color: #000000;"> String NJsonObjectToStringCompare(Group group) {
        String jsonString </span>=<span style="color: #000000;"> JSON.toJSONString(group);
        System.out.println(</span>"---------- 非JsonObject toString() toJSONString() 比较: ----------"<span style="color: #000000;">);
        System.out.println(group.toString());
        System.out.println(JSON.toJSONString(group));
        </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> jsonString;
    }
    
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span><span style="color: #000000;"> String JsonObjectToStringCompare(String ss) {
        Object o</span>=<span style="color: #000000;">JSON.parse(ss,Feature.OrderedField);
        System.out.println(</span>"---------- JsonObject toString() toJSONString() 比较: ----------"<span style="color: #000000;">);
        System.out.println(o.toString());
        System.out.println(JSON.toJSONString(o));
        </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> ss;
    }
    
    
    
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> JsonStringSequence(Group group, String jsonString) {
        System.out.println(</span>"---------- 是否有序: ----------"<span style="color: #000000;">);
        Object o</span>=<span style="color: #000000;">JSON.parse(jsonString);
        System.out.println(o.toString());;
        
        Object o1</span>=<span style="color: #000000;">JSON.parse(jsonString,Feature.OrderedField);
        System.out.println(o1.toString());
        
        Object o2 </span>=<span style="color: #000000;"> JSON.toJSON(group);
        System.out.println(o2.toString());
    }
    
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> JsonEval(String ss,String jsonPath) {
        System.out.println(</span>"---------- Json Eval: ----------"<span style="color: #000000;">);        
        Object o3</span>=<span style="color: #000000;">JSONPath.eval(JSON.parse(ss,Feature.OrderedField),jsonPath);
        System.out.println(o3.toString());
    }
    
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> DealWithNullToStringString(Group groupWithNull) {
        System.out.println(</span>"---------- JsonObject with null emlement: ----------"<span style="color: #000000;">);
        System.out.println(JSON.toJSONString(groupWithNull));
        System.out.println(JSON.toJSONString(groupWithNull,SerializerFeature.WriteMapNullValue));
    }
    
    </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">static</span><span style="color: #000000;"> Group GenerateGroup() {
        Group group </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> Group();
        group.setId(</span>1.1<span style="color: #000000;">);
        group.setName(</span>"admin"<span style="color: #000000;">);
    
        User guestUser </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> User();
        guestUser.setId(</span>2.2<span style="color: #000000;">);
        guestUser.setName(</span>"guest"<span style="color: #000000;">);
    
        User rootUser </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> User();
        rootUser.setId(</span>3.3<span style="color: #000000;">);
        rootUser.setName(</span>"root"<span style="color: #000000;">);
    
        group.addUser(guestUser);
        group.addUser(rootUser);
        </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> group;
    }
    
    </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">static</span><span style="color: #000000;"> Group GenerateGroupWithNull() {
        Group group </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> Group();
        group.setId(</span>1.1<span style="color: #000000;">);
        group.setName(</span>""<span style="color: #000000;">);
    
        User guestUser1 </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> User();
        guestUser1.setId(</span><span style="color: #0000ff;">null</span><span style="color: #000000;">);
        guestUser1.setName(</span>"guest"<span style="color: #000000;">);
    
        User guestUser2 </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> User();
        guestUser2.setId(</span>3.3<span style="color: #000000;">);
        
        User guestUser3 </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> User();        
    
        group.addUser(guestUser1);
        group.addUser(guestUser2);
        group.addUser(guestUser3);
        </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> 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

    [2] FastJson 教程

  • 相关阅读:
    MongoDB权限管理
    Termux结合公网kali打造移动渗透神器
    整人病毒vbs大全!
    mongodb 数据库详解
    mongodb 用户及数据库管理命令
    windows入侵排查思路
    linux 下node.js 安装
    Linux下如何用/proc命令查找进程状态信息——当前目录,内存占用,描述符等
    linux c 得到指定进程内存占用
    1分钟彻底理解C语言指针
  • 原文地址:https://www.cnblogs.com/jpfss/p/10168134.html
Copyright © 2011-2022 走看看