有关json和xml报文的解析和构造
来源:互联网 发布:淘宝冲销量网站 编辑:程序博客网 时间:2024/05/21 06:40
对xml的解析
一、获取document
SAXReader reader = new SAXRader();
Document document = reader.read(new File("saop.xml"));
二、对xml的节点对象的操作方法:
1.获取xml的根节点
Element root = document.getRootElement();
2.获取弄个节点的子节点方法
Element element = node.element("产品部");
3.获取节点的文字
node.getText();
4.获取某个节点下所有名为"serviceCode"的子节点,并遍历
List nodes = rootEle.elements("ServiceCode");
for(Iterator it = nodes.iterator(); it.hasNext();){
Element elem = (Element) it.next();
}
5.对某节点的所有子节点进行遍历(迭代遍历)
for(Iterator it = root.elementIterator(); it.hasNext();){
Element element = (Element) it.next();
}
6.给某个节点添加子节点
Element elem = newElem.addElement("BusCode");
elem.setText("");
7.删除某个节点
parentElement.remove(childElement);
8.添加一个CDATA节点
Element contentElm = infoElm.addElement("content");contentElm.addCDATA(“cdata区域”);
三、对节点对象的属性操作方法
1.获取节点的属性
Element root = document.getRootElement();
Attribute attribute = root.attribute("id");
attribute.getText();
root.remove(root.attribute("name"));
2.设置节点的属性和文字
newMemberElem.addAttribute("name","名字")
对xml的构造
一、创建文档的根节点
两种方法:第一种:document = DocumentHelper.createDocument();
Element root = DocumentHelper.createElement("SAOP");
document.setRootElement(root);
2.第二种:Element root = DocumentHelper.createElement("SAOP");
Document document = DocumentHelper.createDocument(root);
二。给节点添加属性;
root.addAttribute("key1","value1").addAttribute("key2","value2")
三、给节点添加孩子节点
Element element1 = rood.addElement("产品部");
element2 = element1.addElement("成员").addAttribute("key1","value1").addText("");
element2.addElement("").addText("");
四、构造样式输出编码和格式
OutputFormat format = new OutPutFormat(" ",true);//" "为默认四个字节的缩进,true代表子节点 换行
format.setEncoding("GBK");
XMLWriter xmlWriter = new XMLWriter(new fileOutputStream("SAOP.xml"), format);
xmlWriter.write(document);
xmlWriter.close();//xmlWriter.flush();
json的数据转换和解析
一、 List集合转成json方法
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray2 = JSONArray.fromObject( list );
二、 Map集合转换成json方法
Map map = new HashMap();
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[] { "p_code", "h_code" });
map.put("func", "function(i){ return this.arr[i]; }");
JSONObject json = JSONObject.fromObject(map);
三、 Bean转换成json代码
JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
四、 数组转换成json代码
boolean[] boolArray = new boolean[] { true, false, true };
JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
五、 一般数据转换成json代码
JSONArray jsonArray3 = JSONArray.fromObject("['json','serviceCode','busCode']" );
六、 beans转换成json代码
List list = new ArrayList();
JsonBean2 jb1 = new JsonBean2();
jb1.setCol(1);
jb1.setRow(1);
jb1.setValue("xx");
JsonBean2 jb2 = new JsonBean2();
jb2.setCol(2);
jb2.setRow(2);
jb2.setValue("");
list.add(jb1);
list.add(jb2);
JSONArray ja = JSONArray.fromObject(list);
json解析的实例
public String jsonParse() throws JSONException{
}
一、获取document
SAXReader reader = new SAXRader();
Document document = reader.read(new File("saop.xml"));
二、对xml的节点对象的操作方法:
1.获取xml的根节点
Element root = document.getRootElement();
2.获取弄个节点的子节点方法
Element element = node.element("产品部");
3.获取节点的文字
node.getText();
4.获取某个节点下所有名为"serviceCode"的子节点,并遍历
List nodes = rootEle.elements("ServiceCode");
for(Iterator it = nodes.iterator(); it.hasNext();){
Element elem = (Element) it.next();
}
5.对某节点的所有子节点进行遍历(迭代遍历)
for(Iterator it = root.elementIterator(); it.hasNext();){
Element element = (Element) it.next();
}
6.给某个节点添加子节点
Element elem = newElem.addElement("BusCode");
elem.setText("");
7.删除某个节点
parentElement.remove(childElement);
8.添加一个CDATA节点
Element contentElm = infoElm.addElement("content");contentElm.addCDATA(“cdata区域”);
三、对节点对象的属性操作方法
1.获取节点的属性
Element root = document.getRootElement();
Attribute attribute = root.attribute("id");
attribute.getText();
root.remove(root.attribute("name"));
2.设置节点的属性和文字
newMemberElem.addAttribute("name","名字")
对xml的构造
一、创建文档的根节点
两种方法:第一种:document = DocumentHelper.createDocument();
Element root = DocumentHelper.createElement("SAOP");
document.setRootElement(root);
2.第二种:Element root = DocumentHelper.createElement("SAOP");
Document document = DocumentHelper.createDocument(root);
二。给节点添加属性;
root.addAttribute("key1","value1").addAttribute("key2","value2")
三、给节点添加孩子节点
Element element1 = rood.addElement("产品部");
element2 = element1.addElement("成员").addAttribute("key1","value1").addText("");
element2.addElement("").addText("");
四、构造样式输出编码和格式
OutputFormat format = new OutPutFormat(" ",true);//" "为默认四个字节的缩进,true代表子节点 换行
format.setEncoding("GBK");
XMLWriter xmlWriter = new XMLWriter(new fileOutputStream("SAOP.xml"), format);
xmlWriter.write(document);
xmlWriter.close();//xmlWriter.flush();
json的数据转换和解析
一、 List集合转成json方法
List list = new ArrayList();
list.add( "first" );
list.add( "second" );
JSONArray jsonArray2 = JSONArray.fromObject( list );
二、 Map集合转换成json方法
Map map = new HashMap();
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[] { "p_code", "h_code" });
map.put("func", "function(i){ return this.arr[i]; }");
JSONObject json = JSONObject.fromObject(map);
三、 Bean转换成json代码
JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
四、 数组转换成json代码
boolean[] boolArray = new boolean[] { true, false, true };
JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
五、 一般数据转换成json代码
JSONArray jsonArray3 = JSONArray.fromObject("['json','serviceCode','busCode']" );
六、 beans转换成json代码
List list = new ArrayList();
JsonBean2 jb1 = new JsonBean2();
jb1.setCol(1);
jb1.setRow(1);
jb1.setValue("xx");
JsonBean2 jb2 = new JsonBean2();
jb2.setCol(2);
jb2.setRow(2);
jb2.setValue("");
list.add(jb1);
list.add(jb2);
JSONArray ja = JSONArray.fromObject(list);
json解析的实例
public String jsonParse() throws JSONException{
}
1 0
- 有关json和xml报文的解析和构造
- json构造和解析
- 构造JSON和解析JSON
- JSON字符串的构造和解析
- xml解析和json解析的对比
- xml格式报文的拼装,和解析成实体类
- 关于java实体在xml报文和json报文之间的相互转换
- xml和json解析
- json和xml解析
- XML和JSON解析
- json和xml解析
- json和xml解析
- JSON和XML解析
- XML和JSon解析
- XML和json解析
- JSON和XML解析
- xml和json解析
- XML解析和JSON
- 【1】【栈模拟】HDU5831 Rikka with Parenthesis II
- Oracle至Sql Server用DB Link查询缓慢原因之一
- sed命令
- foxmail小记
- hdu 5826 physics(2016 Multi-University Training Contest 8——积分求解)
- 有关json和xml报文的解析和构造
- HDU 1006 Tick and Tick
- C#从html网页内容中提取指定个数的汉字
- c#的接口
- 如何使用Qt插件在Qt中进行ROS开发
- install yii2 for php 5.4 on CentOS 7
- 【stm32f103-学习笔记】测试看门狗
- 二次指数平滑法求预测值的Java代码
- 第一篇博客