fastjson 中的列表、地图、实体对象相互转换 [强烈推荐
最编程
2024-06-29 08:24:20
...
fastjson中list,map,实体对象互相转换【强烈推荐】
【依赖】
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.76</version>
</dependency>
###########################################################
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
import java.util.Map;
public class FastJsonDemo {
public static void main(String[] args) {
// 总结
// map对象,list对象,或实体对象转JSONString //JSON.toJSONString(对象)
// JSONString转map //JSON.parseObject(JSONString, Map.class)
// JSONString转实体对象 //JSON.parseObject(JSONString, 对象.class)
// JSONString转list<实体对象> //JSON.parseArray(JSONString, 对象.class),
// //当里面是Object的时候还是用JSON.parseObject(JSON.toJSONString(o1), (Type)
// Object.class)
// map转对象或者是对象转map先转换成JSONString,再按照上面方法转
// 扩展
// JSONArray和JSONObject先转换成JSONString,再按照上面方法转,记住JSONString是中转
/**
* JSON操作
*/
// map对象,list对象,或实体对象转JSONString
String json = JSON.toJSONString(new Object());
//json字符串转map对象");
Map map = JSON.parseObject(json, Map.class);
//【map转json字符串】" + JSON.toJSONString(map));
//json字符串转对象");
Object o = JSON.parseObject(json, Object.class);
//【对象转json字符串】" + JSON.toJSONString(person));
//json字符串转list");
List<Object> personList = JSON.parseArray(json, Object.class);
//【list转json字符串】" + JSON.toJSONString(personList));
//map转对象");
Object o1 = JSON.parseObject(JSON.toJSONString(map), Object.class);
//对象转map");
Map map1 = JSON.parseObject(JSON.toJSONString(o1), Map.class);
/**
* JSONObject操作
*/
//JSONObject操作-从中取值
String jsonString = "";
JSONObject object = JSONObject.parseObject(jsonString);
//取单个字段
String str1 = object.getString("str1");
//取对象
JSONObject jsonObject = object.getJSONObject("data");
//object中取数组
JSONArray jsonArray = jsonObject.getJSONArray("arr");
//jsonArray遍历,里面的每个对象再强转成JSONObject
for (int i = 0; i < jsonArray.size(); i++) {
JSONObject object1 = jsonArray.getJSONObject(i);
//里面再获取所需要的单个对象
String str2 = object1.getString("str2");
}
//JSONObject操作-封装成JSONObject
JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("aa", "11");
jsonObject1.put("bb", "22");
JSONObject object1 = JSON.parseObject("json字符串");
JSONArray array = object1.getJSONArray("arrKey");
for (int i = 0; i < array.size(); i++) {
JSONObject js= array.getJSONObject(i);
String username = js.get("aa") == null ? "" : js.getString("aa");
}
}
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者