list 集合 ---》 json格式字符串
strjson strlist = JSONArray.toJSONString(list); //list为 List<Object>
//输出 ["str1","str2"] json格式的数组字符串
JsonObject、JsonArray、String的转换
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
String test="{"name":["boy","girl"]}";
JSONObject jsonOjbect=JSON.parseObject(test); string转为object类型
JSONArray array = jsonOjbect.getJSONArray("name"); 获取值["boy","girl"]
String str = JSONObject.toJSONString(array);
JSONString 与 JSONObject 相互转化
(1)JSONString ==> JSONObject
String jsonStr = "{\"key1\":\"value1\"}"; // 反斜杠是java中用于转义特殊字符 " 的
JSONObject jsonObject = JSON.parseObject(jsonStr);
(2)JSONObject ==> JSONString
String jsonStr = jsonObject.toJSONString();
JSONString 与 JAVA对象 相互转化
(1)JSONString ==> JAVA对象
String jsonStr = "{\"name\":\"张三\"}"; // 反斜杠是java中用于转移特殊字符 " 的
User user = JSON.parseObject(jsonStr, User.class);
(2) JAVA对象 ==> JSONString
String jsonStr = JSON.toJSONString(user);
泛型的反序列化(使用 TypeReference 传入类型信息)
Map<String, Object> map = new HashMap<String, Object>();
map.put("key1", "One");
map.put("key2", "Two");
String mapJson = JSON.toJSONString(map); // 转 JSONString
Map<String, Object> map = JSON.parseObject(mapJson, new TypeReference<Map<String, Object>>(){}); // 泛型反序列化
List转JSONArray
List<T> list = new ArrayList<T>();
JSONArray array= JSONArray.parseArray(JSON.toJSONString(list));
JSONArray 转 String
String str = array.toJSONString();
JSONArray转List
List<EventColAttr> list = JSONObject.parseArray(array.toJSONString(), EventColAttr.class);
String转JSONArray
String str = "[{name:Tim,age:25,sex:male},{name:Tom,age:28,sex:male},{name:Lily,age:15,sex:female}]";
JSONArray tableData = JSONArray.parseArray(str);