java方式的将java对象以及list或者map转化为json数据
java方式的将java对象以及list或者map转化为json数据
学会了在j2ee中使用ajax后,有时候从服务器返回客户端的数据是对象,自己手动拼凑json字符串容易出错,通过谷歌知道了json-lib这个类库,方便的支持java中对象到json 字符串的转化。
看source-forge的json-lib介绍说,需要
jakarta commons-lang 2.4
jakarta commons-beanutils 1.7.0
jakarta commons-collections 3.2
jakarta commons-logging 1.1.1
ezmorph 1.0.6
这些jar包的支持,下载下来试了一把,挺好用的,写出来,与大家分享。
代码如下:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Test {
public static void main(String[] args) {
//当是对象的时候
Student student = new Student();
student.setAge(18);
student.setName("zhangsan");
student.setSex("male");
JSONObject jsonObject = JSONObject.fromObject(student);
System.out.println(jsonObject);//输出{"age":18,"name":"zhangsan","sex":"male"}
//当是数组或list的时候
Student[] stus = new Student[5];
List<Student> stuList = new ArrayList<Student>();
for (int i = 0; i < stus.length; i++) {
stus[i] = new Student();
stus[i].setAge(i*10+8);
stus[i].setName("zhang"+i);
stus[i].setSex("male");
//添加到list,一会儿用
stuList.add(stus[i]);
}
JSONArray jsonArray = JSONArray.fromObject(stus);
System.out.println(jsonArray);//和下面打印的结果相同
//结果:[{"age":8,"name":"zhang0","sex":"male"},{"age":18,"name":"zhang1","sex":"male"},{"a ge":28,"name":"zhang2","sex":"male"},{"age":38,"name":"zhang3","sex":"male"},{"ag e":48,"name":"zhang4","sex":"male"}]
JSONArray jsonArrayFromList = JSONArray.fromObject(stuList);
System.out.println(jsonArrayFromList);//和上面打印的结果相同
//当既有对象又有数组的时候
Map<String,Object> map = new HashMap<String,Object>();
Teacher teacher = new Teacher();
teacher.setAge(30);
teacher.setName("laoshi");
teacher.setSex("male");
map.put("teacher", teacher);
map.put("student", stuList);
JSONObject jsonObjectFromMap = JSONObject.fromObject(map);
System.out.println(jsonObjectFromMap);
//结果:
//{"student":[{"age":8,"name":"zhang0","sex":"male"},{"age":18,"name":"zhang1","se x":"male"},{"age":28,"name":"zhang2","sex":"male"},{"age":38,"name":"zhang3","sex" :"male"},{"age":48,"name":"zhang4","sex":"male"}],"teacher":{"age":30,"name":"laosh i","sex":"male"}}
}
}。
跟我学JSon在Java中的应用技术及示例——如何将Java集合或单个对象转换成JSON字符串的应用示例
= name; } public String getSex() {
return sex; } public void setSex(String sex) {
this.sex = sex; } public int getAge() {
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
2、将 Java 布尔类型的数组转换为 JSon 格式的字符串示例 (1)相关的 JSP 页面 <%@ page pageEncoding="gb2312"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
1.1 跟我学 JSon 在 Java 中的应用技术及示例——如何将 Java 集合或 单个对象转换成 JSON 字符串的应用示例
1.1.1 JSON-lib 系统库中的 JSONObject 和 JSONArray 类的主要功能 1、JSON-lib 系统库可以将 Java 集合或单个对象转换成 JSON 字符串 (1)JSON-lib 系统库官方网站中的功能说明列表信息
杨教授工作室,版权所有1 ,盗版必究, 1/17 页
杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料
{"userName":"李四" , "userSex":"f", "userAge":"30"}, {"userName":"王五" , "userSex":"m", "userAge":"20"} ] 2、JSONObject.fromObject()方法实现将单个对象参数转化成 JSONObject 对象 应用 JSONObject.fromObject()方法可以实现将单个对象参数转化成 JSONObject 对象, 如下为实现此功能要求的主要步骤: (1)首先将参数对象转化成 JSONObject 对象 JSONObject someOneJSONObject = JSONObject.fromObject(pObject); (2)然后再通过 JSONObject 的 toString()方法得到 JSON 对象字符串 String jsonString = someOneJSONObject.toString(); 3、JSONArray.fromObject()方法实现将集合对象参数转化成 JSONArray 对象 应用 JSONArray.fromObject()方法可以实现将集合对象参数转化成 JSONArray 对象,如 下为实现此功能要求的主要步骤: (1)首先将集合对象参数转换成 JSONArray 对象 JSONArray someOneJSONArray = JSONArray.fromObject(pObject); (2)再通过 JSONArray 的 toString()方法得到 JSON 对象字符串 String jsonString = someOneJSONArray.toString(); 4、JSON-lib 系统库中常用的功能方法 (1)toBean 方法 toBean(String jsonString, Class targetClass)方法实现将 JSON 对象字符串转化为目标 Java 对象,需要注意的是目标 Java 程序类中必须要定义有空的构造方法。 (2)toString 方法 toString()方法实现将 Java 对象转换成 JSON 对象字符串。 (3)toArray 方法 1)toArray() 方法实现从 JSON 对象字符串中得到相应的 Java 数组。 2)toArray()方法实现将 Java List 集合转换成 Java 数组
GSON中Java对象与JSON互相转换——(一)
GSON中Java对象与JSON互相转换——(⼀)json的转换插件是通过java的⼀些⼯具,直接将java对象或集合转换成json字符串。
常⽤的json转换⼯具有如下⼏种:1)jsonlib2)Gson:google3)fastjson:阿⾥巴巴------GSON操作简单,只需要⼀个jar包----------User.java1package bean;23public class User {45private String id;6private String name;7private int age;8private String address;9public String getId() {10return id;11 }12public void setId(String id) {13this.id = id;14 }15public String getName() {16return name;17 }18public void setName(String name) { = name;20 }21public User(String id, String name, int age, String address) {22super();23this.id = id; = name;25this.age = age;26this.address = address;27 }28 @Override29public String toString() {30return "User [id=" + id + ", name=" + name + ", age=" + age + ", address=" + address + "]";31 }32333435 }1.测试Java对象转JSON(测试结果在后⾯注释)操作简单,⽆论转单个对象还是集合,都是gson.toJson(obj);1package TestJson;23import java.util.ArrayList;4import java.util.HashMap;5import java.util.List;6import java.util.Map;78import javax.xml.bind.UnmarshallerHandler;910import org.junit.Test;1112import com.google.gson.Gson;1314import er;1516public class Bean2JSON {1718// 测试单个对象转JSON19 @Test20public void test1(){21 User user = new User("1", "QIAOZHI",25,"⼭西太原");22 Gson gson = new Gson();23 String json = gson.toJson(user);24 System.out.println(json); //{"id":"1","name":"QIAOZHI","age":25,"address":"⼭西太原"}25 }26272829// 测试list转JSON30 @Test31public void test2(){32 List<User> list = new ArrayList<User>();33 list.add(new User("1", "QIAOZHI",25,"⼭西太原"));34 list.add(new User("2", "QIAOZHI",25,"⼭西太原"));35 list.add(new User("3", "QIAOZHI",25,"⼭西太原"));36 Gson gson = new Gson();37 String json = gson.toJson(list);38 System.out.println(json);39// [{"id":"1","name":"QIAOZHI","age":25,"address":"⼭西太原"},{"id":"2","name":"QIAOZHI","age":25,"address":"⼭西太原"},{"id":"3","name":"QIAOZHI","age":25,"address":"⼭西太原"}] 40 }4142// 测试map对象转JSON43 @Test44public void test3(){45 Map<String,User> map = new HashMap<String,User>();46 map.put("1", new User("1", "QIAOZHI",25,"⼭西太原"));47 map.put("2", new User("2", "QIAOZHI",25,"⼭西太原"));48 map.put("3", new User("3", "QIAOZHI",25,"⼭西太原"));49 Gson gson = new Gson();50 String json = gson.toJson(map);51 System.out.println(json);52// {"3":{"id":"3","name":"QIAOZHI","age":25,"address":"⼭西太原"},"2":{"id":"2","name":"QIAOZHI","age":25,"address":"⼭西太原"},"1":{"id":"1","name":"QIAOZHI","age":25,"address":"⼭西53 }5455// 测试list<map>对象转JSON56 @Test57public void test4(){58 List<Map<String,User>> list = new ArrayList<>();59 Map<String,User> map1 = new HashMap<String,User>();60 Map<String,User> map2 = new HashMap<String,User>();61 map1.put("map11", new User("1", "QIAOZHI",25,"⼭西太原"));62 map1.put("map12", new User("2", "QIAOZHI",25,"⼭西太原"));63 map2.put("21", new User("11", "QIAOZHI",25,"⼭西太原"));64 map2.put("22", new User("21", "QIAOZHI",25,"⼭西太原"));65 list.add(map1);66 list.add(map2);67 Gson gson = new Gson();68 String json = gson.toJson(list);69 System.out.println(json);70// [{"map12":{"id":"2","name":"QIAOZHI","age":25,"address":"⼭西太原"},"map11":{"id":"1","name":"QIAOZHI","age":25,"address":"⼭西太原"}},{"21":{"id":"11","name":"QIAOZHI","age":2 71 }7273 }2.测试Json转Java对象与集合(测试结果在后⾯注释)package TestJson_GSON;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.junit.Test;import com.google.gson.Gson;import com.google.gson.reflect.TypeToken;public class JSON2Bean {// 测试json转单个对象@Testpublic void test1(){String json = "{'id':'1','name':'QIAOZHI','age':25,'address':'⼭西太原'}";Gson gson = new Gson();User user = gson.fromJson(json, User.class);System.out.println(user);// User [id=1, name=QIAOZHI, age=25, address=⼭西太原]}// 测试JSON转list@SuppressWarnings("unchecked")@Testpublic void test2(){String json = "[{'id':'1','name':'QIAOZHI','age':25,'address':'⼭西太原'},{'id':'2','name':'QIAOZHI','age':25,'address':'⼭西太原'},{'id':'3','name':'QIAOZHI','age':25,'address':'⼭西太原'}]"List<User> list = new ArrayList<User>();Gson gson = new Gson();list = (List<User>) gson.fromJson(json, new TypeToken<List<User>>(){}.getType());System.out.println(list);for(User user:list){System.out.println(user);}// [{id=1, name=QIAOZHI, age=25.0, address=⼭西太原}, {id=2, name=QIAOZHI, age=25.0, address=⼭西太原}, {id=3, name=QIAOZHI, age=25.0, address=⼭西太原}]System.out.println(list.get(1));// {id=2, name=QIAOZHI, age=25.0, address=⼭西太原}}// 测试JSON转Map@Testpublic void test3(){String json = "{'3':{'id':'3','name':'QIAOZHI','age':25,'address':'⼭西太原'},'2':{'id':'2','name':'QIAOZHI','age':25,'address':'⼭西太原'},'1':{'id':'1','name':'QIAOZHI','age':25,'address':'⼭西太原'}}" Map<String,User> map = new HashMap<String,User>();Gson gson = new Gson();map = (Map<String,User>) gson.fromJson(json, new TypeToken<Map<String,User>>(){}.getType());System.out.println(map);// {3={id=3, name=QIAOZHI, age=25.0, address=⼭西太原}, 2={id=2, name=QIAOZHI, age=25.0, address=⼭西太原}, 1={id=1, name=QIAOZHI, age=25.0, address=⼭西太原}}User user = map.get("1");System.out.println(user);// {id=1, name=QIAOZHI, age=25.0, address=⼭西太原}}// 测试JSON转list<map>对象@SuppressWarnings("unchecked")@Testpublic void test4(){String json = "[{'map12':{'id':'2','name':'QIAOZHI','age':25,'address':'⼭西太原'},'map11':{'id':'1','name':'QIAOZHI','age':25,'address':'⼭西太原'}},{'21':{'id':'11','name':'QIAOZHI','age':25,'addre List<Map<String,User>> list = new ArrayList<>();Gson gson = new Gson();list = gson.fromJson(json, new TypeToken<List<Map<String,User>>>(){}.getType());System.out.println(list);// [{map12={id=2, name=QIAOZHI, age=25.0, address=⼭西太原}, map11={id=1, name=QIAOZHI, age=25.0, address=⼭西太原}}, {21={id=11, name=QIAOZHI, age=25.0, address=⼭西太 System.out.println(list.get(1));// {21={id=11, name=QIAOZHI, age=25.0, address=⼭西太原}, 22={id=21, name=QIAOZHI, age=25.0, address=⼭西太原}}}}注意:json转普通的Javabean只需要两个简单的参数,第⼀个是json字符串,第⼆个是需要转换对象的类型。
将Java对象转换成JSON
将Java对象转换成JSONJSON(JavaScript Object Notation, JS 对象简谱) 是⼀种轻量级的数据交换格式。
简洁和清晰的层次结构使得 JSON 成为理想的数据交换语⾔。
易于⼈阅读和编写,同时也易于机器解析和⽣成,并有效地提升⽹络传输效率。
JSON 语法规则在 JS 语⾔中,⼀切都是对象。
因此,任何⽀持的类型都可以通过 JSON 来表⽰,例如字符串、数字、对象、数组等。
但是对象和数组是⽐较特殊且常⽤的两种类型:对象表⽰为键值对数据由逗号分隔花括号保存对象⽅括号保存数组以上摘⾃百度百科maven添加如下依赖<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency>package Bean;public class User{private Integer id;private String name;private String pass;private String sex;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public String getPass() {return pass;}public void setPass(String pass) {this.pass = pass;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}}package WebTest;import er;import com.alibaba.fastjson.JSON;public class JsonTest{public static void main(String[] args){User user= new User();user.setId(1);user.setName("lzc");user.setPass("123");user.setSex("male");String json=JSON.toJSONString(user);//关键 System.out.println(json);}}。
Java中json与javaBean几种互转的讲解
Java中json与javaBean⼏种互转的讲解⼀、java普通对象和json字符串的互转java对象---->json⾸先创建⼀个java对象:public class Student {//姓名private String name;//年龄private String age;//住址private String address;public String getName() {return name;}public void setName(String name) { = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + ", address="+ address + "]";}}现在java对象转换为json形式:public static void convertObject() {Student stu=new Student();stu.setName("JSON");stu.setAge("23");stu.setAddress("北京市西城区");//1、使⽤JSONObjectJSONObject json = JSONObject.fromObject(stu);//2、使⽤JSONArrayJSONArray array=JSONArray.fromObject(stu);String strJson=json.toString();String strArray=array.toString();System.out.println("strJson:"+strJson);System.out.println("strArray:"+strArray);}定义了⼀个Student的实体类,然后分别使⽤了JSONObject和JSONArray两种⽅式转化为JSON字符串,下⾯看打印的结果:json-->javabean上⾯说明了如何把java对象转化为JSON字符串,下⾯看如何把JSON字符串格式转化为java对象,⾸先需要定义两种不同格式的字符串,需要使⽤\对双引号进⾏转义。
java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json主要实现把java对常⽤的⼀些数据转换成Json,以便前台的调⽤,具体的操作如下:public class ConvertJson {/*** 对象转换为Json* @param obj* @return*/public static String object2json(Object obj) {StringBuilder json = new StringBuilder();if (obj == null) {json.append("\"\"");} else if (obj instanceof String || obj instanceof Integer|| obj instanceof Float || obj instanceof Boolean|| obj instanceof Short || obj instanceof Double|| obj instanceof Long || obj instanceof BigDecimal|| obj instanceof BigInteger || obj instanceof Byte) {json.append("\"").append(string2json(obj.toString())).append("\"");} else if (obj instanceof Object[]) {json.append(array2json((Object[]) obj));} else if (obj instanceof List) {json.append(list2json((List<?>) obj));} else if (obj instanceof Map) {json.append(map2json((Map<?, ?>) obj));} else if (obj instanceof Set) {json.append(set2json((Set<?>) obj));} else {json.append(bean2json(obj));}return json.toString();}/*** 对象bean转换为Json* @param bean* @return*/public static String bean2json(Object bean) {StringBuilder json = new StringBuilder();json.append("{");PropertyDescriptor[] props = null;try {props = Introspector.getBeanInfo(bean.getClass(), Object.class).getPropertyDescriptors();} catch (IntrospectionException e) {}if (props != null) {for (int i = 0; i < props.length; i++) {try {String name = object2json(props[i].getName());String value = object2json(props[i].getReadMethod().invoke(bean));json.append(name);json.append(":");json.append(value);json.append(",");} catch (Exception e) {}}json.setCharAt(json.length() - 1, '}');} else {json.append("}");}return json.toString();}/*** List集合转换为Json* @param list* @return*/public static String list2json(List<?> list) {StringBuilder json = new StringBuilder();json.append("[");if (list != null && list.size() > 0) {for (Object obj : list) {json.append(object2json(obj));json.append(",");}json.setCharAt(json.length() - 1, ']');} else {json.append("]");}return json.toString();}/*** 对象数组转换为Json* @param array* @return*/public static String array2json(Object[] array) { StringBuilder json = new StringBuilder();json.append("[");if (array != null && array.length > 0) {for (Object obj : array) {json.append(object2json(obj));json.append(",");}json.setCharAt(json.length() - 1, ']');} else {json.append("]");}return json.toString();}/*** Map集合转换为Json* @param map* @return*/public static String map2json(Map<?, ?> map) { StringBuilder json = new StringBuilder();json.append("{");if (map != null && map.size() > 0) {for (Object key : map.keySet()) {json.append(object2json(key));json.append(":");json.append(object2json(map.get(key))); json.append(",");}json.setCharAt(json.length() - 1, '}');} else {json.append("}");}return json.toString();}/*** Set集合转为Json* @param set* @return*/public static String set2json(Set<?> set) {StringBuilder json = new StringBuilder(); json.append("[");if (set != null && set.size() > 0) {for (Object obj : set) {json.append(object2json(obj));json.append(",");}json.setCharAt(json.length() - 1, ']');} else {json.append("]");}return json.toString();}/*** 字符串转换为Json* @param s* @return*/public static String string2json(String s) {if (s == null)return "";StringBuilder sb = new StringBuilder();for (int i = 0; i < s.length(); i++) {char ch = s.charAt(i);switch (ch) {case '"':sb.append("\\\"");break;case '\\':sb.append("\\\\");break;case '\b':sb.append("\\b");break;case '\f':sb.append("\\f");break;case '\n':sb.append("\\n");break;case '\r':sb.append("\\r");break;case '\t':sb.append("\\t");break;case '/':sb.append("\\/");break;default:if (ch >= '\u0000' && ch <= '\u001F') { String ss = Integer.toHexString(ch); sb.append("\\u");for (int k = 0; k < 4 - ss.length(); k++) { sb.append('0');}sb.append(ss.toUpperCase());} else {sb.append(ch);}}}return sb.toString();} }。
java转换xml、list、map和json
很多朋友遇到xml,map和json互转的问题,在开发中xml和json越来越重要了。
我就把我的工具类贴上来。
json-lib依赖包:mons-beanutils-1.8.0.jarmons-collections-3.2.1.jarmons-lang-2.4.jarmons-logging-1.1.1.jar5.ezmorph-1.0.6.jar6.json-lib-2.3-jdk15.jar7.xom-1.2.2.jar以上的包不能缺少否则出现运行错误1.package com.shine.framework.core.util;2.3.import java.io.ByteArrayOutputStream;4.import java.util.ArrayList;5.import java.util.HashMap;6.import java.util.Iterator;7.import java.util.List;8.import java.util.Map;9.10.import net.sf.json.JSON;11.import net.sf.json.JSONSerializer;12.import net.sf.json.xml.XMLSerializer;13.14.import org.dom4j.Document;15.import org.dom4j.DocumentHelper;16.import org.dom4j.Element;17.import org.dom4j.io.OutputFormat;18.import org.dom4j.io.XMLWriter;19.20./**21. * common xml conver utility22. *23. * @author viruscodecn@24. * @version Framework 2010.10.2625. */26.public class XmlConverUtil {27./**28. * map to xml xml <node><key label="key1">value1</key><key29. * label="key2">value2</key>......</node>30. *31. * @param map32. * @return33. */34.public static String maptoXml(Map map) {35. Document document = DocumentHelper.createDocument();36. Element nodeElement = document.addElement("node");37.for (Object obj : map.keySet()) {38. Element keyElement = nodeElement.addElement("key");39. keyElement.addAttribute("label", String.valueOf(obj));40. keyElement.setText(String.valueOf(map.get(obj)));41. }42.return doc2String(document);43. }44.45./**46. * list to xml xml <nodes><node><key label="key1">value1</key><key47. * label="key2">value2</key>......</node><node><key48. * label="key1">value1</key><key49. * label="key2">value2</key>......</node></nodes>50. *51. * @param list52. * @return53. */54.public static String listtoXml(List list) {55. Document document = DocumentHelper.createDocument();56. Element nodesElement = document.addElement("nodes");57.for (Object o : list) {58. Element nodeElement = nodesElement.addElement("node");59.for (Object obj : ((Map) o).keySet()) {60. Element keyElement = nodeElement.addElement("key");61. keyElement.addAttribute("label", String.valueOf(obj));62. keyElement.setText(String.valueOf(((Map) o).get(obj)));63. }64. }65.return doc2String(document);66. }67.68./**69. * json to xml {"node":{"key":{"@label":"key1","#text":"value1"}}} conver70. * <o><node class="object"><key class="object"71. * label="key1">value1</key></node></o>72. *73. * @param json74. * @return75. */76.public static String jsontoXml(String json) {77.try {78. XMLSerializer serializer = new XMLSerializer();79. JSON jsonObject = JSONSerializer.toJSON(json);80.return serializer.write(jsonObject);81. } catch (Exception e) {82. e.printStackTrace();83. }84.return null;85. }86.87./**88. * xml to map xml <node><key label="key1">value1</key><key89. * label="key2">value2</key>......</node>90. *91. * @param xml92. * @return93. */94.public static Map xmltoMap(String xml) {95.try {96. Map map = new HashMap();97. Document document = DocumentHelper.parseText(xml);98. Element nodeElement = document.getRootElement();99. List node = nodeElement.elements();100.for (Iterator it = node.iterator(); it.hasNext();) { 101. Element elm = (Element) it.next();102. map.put(elm.attributeValue("label"), elm.getText()); 103. elm = null;104. }105. node = null;106. nodeElement = null;107. document = null;108.return map;109. } catch (Exception e) {110. e.printStackTrace();111. }112.return null;113. }114.115./**116. * xml to list xml <nodes><node><key label="key1">value1</key><key 117. * label="key2">value2</key>......</node><node><key118. * label="key1">value1</key><key119. * label="key2">value2</key>......</node></nodes>120. *121. * @param xml122. * @return123. */124.public static List xmltoList(String xml) {125.try {126. List<Map> list = new ArrayList<Map>();127. Document document = DocumentHelper.parseText(xml); 128. Element nodesElement = document.getRootElement(); 129. List nodes = nodesElement.elements();130.for (Iterator its = nodes.iterator(); its.hasNext();) { 131. Element nodeElement = (Element) its.next();132. Map map = xmltoMap(nodeElement.asXML());133. list.add(map);134. map = null;135. }136. nodes = null;137. nodesElement = null;138. document = null;139.return list;140. } catch (Exception e) {141. e.printStackTrace();142. }143.return null;144. }145.146./**147. * xml to json <node><key label="key1">value1</key></node> 转化为148. * {"key":{"@label":"key1","#text":"value1"}}149. *150. * @param xml151. * @return152. */153.public static String xmltoJson(String xml) {154. XMLSerializer xmlSerializer = new XMLSerializer();155.return xmlSerializer.read(xml).toString();156. }157.158./**159. *160. * @param document161. * @return162. */163.public static String doc2String(Document document) {164. String s = "";165.try {166.// 使用输出流来进行转化167. ByteArrayOutputStream out = new ByteArrayOutputStream(); 168.// 使用UTF-8编码169. OutputFormat format = new OutputFormat(" ", true, "UTF-8"); 170. XMLWriter writer = new XMLWriter(out, format);171. writer.write(document);172. s = out.toString("UTF-8");173. } catch (Exception ex) {174. ex.printStackTrace();175. }176.return s;177. }178.179.public static void main(String args[]) {180. XmlConverUtil util = new XmlConverUtil();181. String xml = "{\"node\":{\"key\":{\"@lable\":\"key1\",\"#text\":\"v alue1\"}}}";182. System.out.println(util.jsontoXml(xml));183. }184.}。
java8快速实现List转数组JsonArraymap分组过滤等操作
java8快速实现List转数组JsonArraymap分组过滤等操作Java 8 引入了许多方便的方法来处理集合,其中包括将 List 转换为数组、处理 JsonArray、对集合进行分组和过滤等操作。
下面将介绍如何快速实现这些操作。
1. List 转数组在 Java 8 中,可以使用 List 接口的 `toArray(T[] a)` 方法将List 转换为数组。
例如,假设有一个包含整数的 List:```javaList<Integer> numbers = new ArrayList<>(;numbers.add(1);numbers.add(2);numbers.add(3);Integer[] arr = numbers.toArray(new Integer[numbers.size(]);```2. 处理 JsonArray对于处理 JsonArray,可以使用 Java 8 提供的 Json 模块。
首先,需要添加以下依赖至 pom.xml 文件:```xml<dependency><groupId>javax.json</groupId><artifactId>javax.json-api</artifactId><version>1.1.4</version></dependency><dependency><groupId>org.glassfish</groupId><artifactId>javax.json</artifactId><version>1.1.4</version></dependency>```然后,可以通过以下方式处理 JsonArray:```javaString jsonStr = "[{\"name\":\"John\", \"age\":25}, {\"name\":\"Jane\", \"age\":30}]";JsonReader jsonReader = Json.createReader(new StringReader(jsonStr));JsonArray jsonArray = jsonReader.readArray(;for (JsonObject jsonObject :jsonArray.getValuesAs(JsonObject.class))String name = jsonObject.getString("name");int age = jsonObject.getInt("age");System.out.println("Name: " + name + ", Age: " + age);```上述代码将输出:```Name: John, Age: 25Name: Jane, Age: 30```3.对集合进行分组在 Java 8 中,可以使用 `Collectors.groupingBy` 方法对集合进行分组。
java将实体类转为json_JavaWeb实体类转为json对象的实现方法
java将实体类转为json_JavaWeb实体类转为json对象的实现方法在JavaWeb开发中,我们经常需要将实体类转化为JSON对象,以便于在前端页面进行展示或者传输数据。
在本篇文章中,我将介绍如何使用不同的方法将实体类转化为JSON对象。
一、使用Java原生方法实现转化Java原生方法提供了将Java对象转化为JSON对象的工具类,可以将实体类转化为JSON字符串,然后通过JSON字符串转化为JSON对象。
1. 使用Gson库Gson是Google提供的一个Java库,可以方便地将Java对象转化为JSON字符串,并支持将JSON字符串转化为Java对象。
使用Gson库将实体类转化为JSON对象的步骤如下:(1)添加Gson库的依赖在项目中的pom.xml文件中添加Gson库的依赖:```xml<dependency><artifactId>gson</artifactId><version>2.8.6</version></dependency>```(2)在代码中使用Gson库```javaUser user = new User(;user.setId(1);user.setName("张三");user.setAge(20);Gson gson = new Gson(;String jsonString = gson.toJson(user);System.out.println(jsonString);```2. 使用Jackson库Jackson是一个开源的Java库,提供了将Java对象转化为JSON字符串,并支持将JSON字符串转化为Java对象。
使用Jackson库将实体类转化为JSON对象的步骤如下:(1)添加Jackson库的依赖在项目中的pom.xml文件中添加Jackson库的依赖:```xml<dependency><artifactId>jackson-databind</artifactId><version>2.12.4</version></dependency>```(2)在代码中使用Jackson库```javaUser user = new User(;user.setId(1);user.setName("张三");user.setAge(20);ObjectMapper mapper = new ObjectMapper(;String jsonString = mapper.writeValueAsString(user);System.out.println(jsonString);```二、使用Spring MVC框架实现转化Spring MVC是一个基于Java的实现了MVC(Model-View-Controller)模式的Web应用框架,它提供了将实体类转化为JSON对象的方便方法。
关于java中JSONArray、JSONObject、List、String之间的转换
关于java中JSONArray、JSONObject、List、String之间的转换本⼈最近⼏个⽉才开始JAVA开发⼯作,以前⼀直做的BI开发,转变的过程都是很艰难的。
新产品开发的过程中,由于新⼈,能⼒有限,遇到了N多困难,幸亏有关系很好的同事在旁边加油打⽓。
有好⼏次我悄悄跟同事说,不⾏了,我坚持不下去了,我就不是开发的料,同事每次都劝我开始都是难的,这段时间过去了你会发现其实没那么难。
是啊,就去登泰⼭,站在⼭脚下我就被它的巍峨吓得望⽽却步,那我怎么可能会登顶看到⽇出。
总嘚努⼒了才有放弃的资格。
于是就这样,坚持了⼏个⽉,现在虽然⾃⼰依然是个菜鸟,但是进步还是很⼤。
可能已经爬到了泰⼭的脚背上。
开发过程中很让⼈头疼的就是各种类型之间的转换,⼀开始真是蒙圈,后来⽤了⼏次好点了,赶紧把⾃⼰记得的写下来,怕以后忘了。
⼀、JASSONArray转为JSONObjectJSONArray result_type = new JSONArray();StringBuffer cdsIdxType = new StringBuffer();cdsIdxType.append(" select id from table_type ");result_type = jdbcTemp.queryForJSONArray(cdsIdxType.toString());JSONObject jsonObject = (JSONObject) result_type.get(i);⼆、JASONArray转为ListJSONArray result_type = new JSONArray();StringBuffer cdsIdxType = new StringBuffer();cdsIdxType.append(" select id from table_type ");result_type = jdbcTemp.queryForJSONArray(cdsIdxType.toString());ArrayList list_type = new ArrayList();for (int i = 0; i < result_type.size(); i++) {JSONObject jsonObject = (JSONObject) result_type.get(i);list_type.add(jsonObject.get("id"));}三、JSONArray转为StringJSONArray result_type = new JSONArray();StringBuffer cdsIdxType = new StringBuffer();cdsIdxType.append(" select id from table_type ");result_type = jdbcTemp.queryForJSONArray(cdsIdxType.toString());String typeAll = "";ArrayList list_type = new ArrayList();for (int i = 0; i < result_type.size(); i++) {JSONObject jsonObject = (JSONObject) result_type.get(i);list_type.add(jsonObject.get("id"));}for(int j=0;j<list_type.size();j++){typeAll = typeAll + "'" + list_type.get(j) + "'" + ",";}typeAll = typeAll.substring(0, typeAll.length() -1);四、String转换为ArrayListString tablecode = request.getParameter("tablecode");tablecode = tablecode.substring(1, tablecode.length()-1).replace("\"", "");String[] list = tablecode.split(",");ArrayList tables = new ArrayList();for(int i=0; i<list.length; i++){tables.add(list[i]);}五.String转JSONObjectString jsonMese = "{\"语⽂\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}";JSONObject myJson = JSONObject.fromObject(jsonMese);六.String转JSONArrayString jsonMessage = "[{'num':'成绩', '外语':88, '历史':65, '地理':99, 'object':{'aaa':'1111','bbb':'2222','cccc':'3333'}}," + "{'num':'兴趣', '外语':28, '历史':45, '地理':19, 'object':{'aaa':'11a11','bbb':'2222','cccc':'3333'}}," + "{'num':'爱好', '外语':48, '历史':62, '地理':39, 'object': {'aaa':'11c11','bbb':'2222','cccc':'3333'}}]";JSONArray myJsonArray = JSONArray.fromObject(jsonMessage);七.String转数组String string = "a,b,c"; String [] stringArr= string.split(","); //注意分隔符是需要转译如果是"abc"这种字符串,就直接String string = "abc" ; char [] stringArr = string.toCharArray(); //注意返回值是char数组如果要返回byte数组就直接使⽤getBytes⽅法就ok了String string = "abc" ; byte [] stringArr = string.getBytes();⼋、数组转Stringchar[] data={a,b,c};String s=new String(data);注:本⽂是通过⾃⼰的总结和总结他⼈经验得出来的结论,学疏才浅如果错误⼤家可以指出并改正。
java list 转json 方法
java list 转json 方法在Java中,将List转换为JSON有很多方法和工具可以使用。
JSON(JavaScript Object Notation)是一种常用的数据交换格式,它基于键值对的方式存储数据,非常适合在不同平台和语言之间进行数据交互。
以下是一些常见的方法和库,可以将List对象转换为JSON:方法1:使用原生Java使用原生Java转换List对象为JSON需要手动构建JSON字符串。
在Java中,可以使用StringBuilder或StringBuffer来构建字符串,在遍历List对象的过程中,逐个添加元素到字符串中。
Java提供了一些方法,例如JSONObject和JSONArray,用于创建和操作JSON对象和数组。
下面是一个示例代码,演示如何使用原生Java将List对象转换为JSON:```javaimport org.json.JSONArray;import org.json.JSONObject;import java.util.ArrayList;import java.util.List;public class ListToJsonExample {public static void main(String[] args) { //创建一个List对象List<String> list = new ArrayList<>(); list.add("张三");list.add("李四");list.add("王五");//创建一个JSONArray对象JSONArray jsonArray = new JSONArray(); //遍历List,将元素添加到JSONArray中for (String item : list) {jsonArray.put(item);}//创建一个JSONObject对象JSONObject jsonObject = new JSONObject(); //将JSONArray添加到JSONObject中jsonObject.put("items", jsonArray);//将JSONObject转换为JSON字符串String jsonString = jsonObject.toString(); System.out.println(jsonString);}}```输出结果为:{"items":["张三","李四","王五"]}```方法2:使用Gson库Gson是Google提供的一个Java库,用于将Java对象转换为JSON字符串以及将JSON字符串转换为Java对象。
