1、直接将对象转换
将数组转换为JSON:
String[] arr = {"asd","dfgd","asd","234"};
JSONArray jsonarray = JSONArray.fromObject(arr);
System.out.println(jsonarray);
对象转换成JSON:(get和set方法必须有)
UserInfo user = new UserInfo(1001,"张三");
JSONArray jsonArray = JSONArray.fromObject(user);
System.out.println( jsonArray );
把Map转换成json, 要使用jsonObject对象:
Map<String, Object> map = new HashMap<String, Object>();
map.put("userId", 1001);
map.put("userName", "张三");
map.put("userSex", "男");
JSONObject jsonObject = JSONObject.fromObject(map);
System.out.println(jsonObject);
把List转换成JSON数据:
List<UserInfo> list = new ArrayList<UserInfo>();
UserInfo user = new UserInfo(1001, "张三");
list.add(user);
list.add(user);
list.add(user);
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray);
public String listToJsonArrayString(List<Map<String, String>> list){
StringBuilder jsonBuilder = new StringBuilder();
String result = null;
try {
if(list != null){
jsonBuilder.append("[");
Map<String, String> infoMap = new HashMap<String, String>();
for(int i=0; i<list.size();i++){
infoMap = list.get(i);
String string = toJson(infoMap);
if(string.endsWith("}")){
jsonBuilder.append(string);
jsonBuilder.append(",");
}else{
jsonBuilder.append(string);
}
}
if(jsonBuilder.toString().endsWith(",")){
jsonBuilder.deleteCharAt(jsonBuilder.length() - 1);
}
jsonBuilder.append("]");
System.out.println("RoomMember 数组"+jsonBuilder.toString());
result = jsonBuilder.toString();
}
}catch (Exception e) {
e.printStackTrace();
result = null;
}finally{
return result;
}
}
//将map生成json字符串(返回{.....}或者"")
public String toJson(Map<String, String> infoMap){
String result = null;
try {
StringBuilder jsonBuilder = new StringBuilder();
jsonBuilder.append("{");
for (Map.Entry<String, String> entry : infoMap.entrySet()) {
jsonBuilder.append("\"").append(entry.getKey()).append("\":\"") .append(entry.getValue()).append("\",");
}
if(!jsonBuilder.toString().equals("{")){//无数据时
jsonBuilder.deleteCharAt(jsonBuilder.length() - 1);
}
jsonBuilder.append("}");
// System.out.println("RoomMember json对象"+jsonBuilder.toString());
result = jsonBuilder.toString();
} catch (Exception e) {
e.printStackTrace();
result = "";
}finally{
return result;
}
}