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;
}
}
将数组转换为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;
}
}
相关文章推荐
- JSON解析之JSONObject对象---js对象转换成java对象
- Java服务器端List对象转换为JSON对象并返回客户端实例
- jsontools实现java对象与json值之间互相转换
- JSON字符串与Java对象之间的转换
- Java服务器端List对象转换为JSON对象并返回客户端实例
- JSON解析之JSONObject对象---js对象转换成java对象
- java对象转换成json 字符串的方法
- 将JAVA对象转换成JSON字符串
- Google-gson, 将JSON 转换为 Java 对象或者将Java对象转换成JSON 的Java库,可以在Android上使用
- java中返回的JSON对象转换成List 用法
- GSON(JSON字符串转换成一个相等的Java对象)
- JSON对象数组到Java的转换
- JSON 与JAVA对象之间的转换
- 把java对象转换为json串的类
- 使用json-lib将java对象转换成json字符串
- 使用JSON-LIB转换JAVA对象
- 使用Gson将Java对象转换为Json
- 使用JSON-LIB转换JAVA对象
- java中List对象转换为JSON对象
- JSON --- JAVA对象转换为json