您的位置:首页 > 编程语言 > Java开发

Java对象与JSON的转换

2014-08-20 12:13 441 查看
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);

2、自己写方法转换

//maplist转换为josn数组字符串

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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: