标签:org package 比较 highlight user out main 参考 null
转载:https://www.cnblogs.com/Ming8006/p/6944954.html
常用操作包括以下内容:
代码:
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
标签:org package 比较 highlight user out main 参考 null
原文地址:http://www.cnblogs.com/MasterJ/p/7906309.html