转JSON时去除指定属性、JSONArray和JSONObject的顺序变化问题

一、转JSON时去除指定属性

/**
方法一:遍历循环,使用remove去除JSON属性
*/
JSONArray jsonList = JSON.parseArray(JSỌN.toJSONString(ascList));
for(object value : jsonList){
	JSONObject obj = (JsoN0bject) value;
	obj.remove("seqNo");
}
string note2 = jsonL ist. toJsoNString();

/**
方法二:fastJson过滤器,false则过滤,true保留
*/
string seqNo = "seqNo";
PropertyFilter propertyFilter = (object, name, value) -> {
		if(seqNo.equals(name)){
			return false ;
		}
		return true;
}
string notes = JS0N.toJS0Nstring(ascList propertyFilter);

二、JSONArray和JSONObject的顺序变化问题

1:JSONArray中对象的顺序是不会变化的,也就是put进去的时候是什么顺序,取的时候就是什么顺序。

2:JSONObject put数据之后,排序会发生变化。

	解决:JSONObject jsonObj =new JSONObject(new  LinkedHashMap());

参考文章
1. FastJson序列化时过滤字段(属性)的方法总结
2. java中json字符串移除指定属性
3. java中关于JSONArray和JSONObject的顺序变化的问题

你可能感兴趣的:(Java笔记心得,java,json)