微信开发者技术沙龙感悟
作业:今天是 20xx 年 x 月 x 日,你作为优秀开发者被邀请参与 《微信开发者技 术沙龙》。 李老师是给你留下印象最深的受邀嘉宾,他属于鹅肠微信公众平台官方人 员,他的分享对你触动很大。他分享了公众平台接口数据格式 XML 与 JSON 混 乱的缘由。 在鹅肠微信公众平台设计早期,因为开发团队是从鹅肠其他团队凑的。内 部不同的子团队开发规范很不一致。很多老团队喜欢使用 XML 格式传输数据 (少数,点击查看),很多新人团队过来的成员喜欢使用 JSON 作为传输格式(多 数,点击查看)。为了团队的稳定,当时并没有对格式进行特殊的规则定制,导 致现在很多开发者对此怨声哀悼。 因为平台已经有了百万的开发者,再更改操作规范会导致大量生态问题的 发生,所以到目前问题依旧存在,难以修缮。 你在参与这次技术沙龙之前,对数据传输的格式不太在意。李老师的分享 对你触动很大,也让你明白了,开发时如果前后端没有一个合理统一的数据规 新职课教研教学中心 2 则,会有大量的不必要问题发生。所以你下定决心要掌握好 JSON 和 XML 技术。
第一步,记得在使用XML和JSON是添加jar包,jar包的添加方法就不在这说了
第二步:创建包,类,这应该都知道
然后就是代码了
这个是获取文档类容的
package xml;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;import java.awt.print.Book;
import java.io.FileInputStream;
import java.io.FileNotFoundException;/*** @Author:* @Description:* @Date Created in 2021-09-25 12:12* @Modified By:*/
public class Demo1 {public static void main(String[] args) throws DocumentException, FileNotFoundException {//找到目标文档FileInputStream fis = new FileInputStream("D://Demo1.xml");//刚刚添加的jar包就是为了使用这个对象SAXReader sa = new SAXReader();//这个文档对象Document read = sa.read(fis);//获取根节点Element root = read.getRootElement();//后面就是想要什么节点自己看就行了Element s = root.element("book");String book = s.elementText("name");System.out.println(book);}
}
这个是读取网页内容的
package xml;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;/*** @Author:* @Description:* @Date Created in 2021-09-25 14:25* @Modified By:*/
public class Demo2 {public static void main(String[] args) throws IOException, DocumentException {String phone = "15573014586";//获得目标网里的xmlURL u = new URL("http://apis.juhe.cn/mobile/get?phone=" + phone + "&dtype=xml&key=9f3923e8f87f1ea50ed4ec8c39cc9253");//一步步获取读取对象URLConnection conn = u.openConnection();InputStream is = conn.getInputStream();//jar包里的对象创建SAXReader sa = new SAXReader();Document docu = sa.read(is);//获取根节点Element rool = docu.getRootElement();String s = rool.elementText("resultcode");System.out.println(s);}
}
这个是自己生成xml文件
package xml;import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.XMLWriter;import javax.sql.rowset.spi.XmlWriter;
import java.io.*;/*** @Author:* @Description:* @Date Created in 2021-09-25 14:53* @Modified By:*/
public class Demo3 {public static void main(String[] args) throws IOException {//利用文档生成器生成文档Document doc = DocumentHelper.createDocument();//生成根节点啥的,一步步添加内容Element books = doc.addElement("books");Element book = books.addElement("book");Element name = books.addElement("name");Element text = name.addText("哈哈哈");//创建文件输出流,并设置保存的位置FileOutputStream fos=new FileOutputStream("D://a.xml");XMLWriter xm=new XMLWriter(fos);//写入之后记得关闭xm.write(doc);xm.close();}
}
json
先创建一个图书对象,这个应该都会
package json;/*** @Author:* @Description:* @Date Created in 2021-09-25 15:07* @Modified By:*/
public class Book {private int num;private String name;private String info;@Overridepublic String toString() {return "Book{" +"num=" + num +", name='" + name + '\'' +", info='" + info + '\'' +'}';}public int getNum() {return num;}public void setNum(int num) {this.num = num;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getInfo() {return info;}public void setInfo(String info) {this.info = info;}public Book(int num, String name, String info) {this.num = num;this.name = name;this.info = info;}public Book() {}
}
然后利用谷歌的gson生成json,也可以用阿里之类别的,记得导入jar包
package json;import com.google.gson.Gson;/*** @Author:* @Description:使用json* @Date Created in 2021-09-25 14:52* @Modified By:*/
public class Dome {public static void main(String[] args) {/*这个注释起来的是转换成json的代码//先生成一个图书对象Book b=new Book(1001,"语文书","教我们认字");用new gson().tojson方法转成字符串String s = new Gson().toJson(b);System.out.println(s);*///{"num":1001,"name":"语文书","info":"教我们认字"}//下面的是解析json,我直接写一个代码里了//创建一个gson对象Gson g=new Gson();//用fromjson方法传入一串字符,参数二则是你要转成什么对象Book b = g.fromJson("{\"num\":1001,\"name\":\"语文书\",\"info\":\"教我们认字\"}", Book.class);System.out.println(b.getInfo());}
}
最后我个人认为还是json更方便。
微信开发者技术沙龙感悟相关推荐
- 1024 鲲鹏开发者技术沙龙·福州站圆满收官!给程序员的福利你收到了吗?
10月24日,由华为技术有限公司与福建鲲鹏生态创新中心联合主办的"1024鲲鹏开发者技术沙龙"在福州顺利举行. 在沙龙上,来自福建鲲鹏生态创新中心运营总监宋宗佑为活动进行致辞,福建 ...
- 计算产业如何加速突破?鲲鹏开发者技术沙龙带来新答案
半世纪前,将人类送上月球的阿波罗11号飞船所搭载的电脑CPU主频只有0.043 MHz,而今天,普通手机主频都是登月电脑的5万倍.但伴随5G.人工智能.万物互联带来数据爆炸式的增长,算力仍无法满足对数 ...
- IBM “第8格(Debug)”开发者技术沙龙首站招募中,有胆你就来!
2019独角兽企业重金招聘Python工程师标准>>> 话说,在1947年9月9日,一只飞蛾(bug)钻进了IBM与哈佛大学合作制造的电子管计算机"马克2号"里. ...
- 开启人才进阶之旅,鲲鹏开发者技术沙龙点燃计算行业激情
2020年,新基建风口已至,建设数字基础设施,打造数字产业生态是其关键与核心,而算力底座将成为其重要的运行支撑.数字化浪潮大背景下,鲲鹏计算产业生态,充满巨大的想象与发展空间,但同时也面临专业人才短缺 ...
- 游戏安全有多重要?——GAME-TECH游戏开发者技术沙龙
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云+社区运营团队发布在腾讯云+社区 腾讯云GAME-TECH沙龙继3月深圳站后,将于4月13日来到北京站,与游戏厂商和游戏开发者,畅聊 ...
- 腾讯云GAME-TECH游戏开发者技术沙龙(深圳)开启报名
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~. 作者:由腾讯游戏云发表在云+社区 腾讯云GAME-TECH沙龙继1月杭州站后,将于3月30日来到深圳站,与游戏厂商和游戏开发者,畅聊游戏安 ...
- 腾讯云游戏开发者技术沙龙,1月19日杭州站报名开启啦!
欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 腾讯云GAME-TECH沙龙继12月北京站,将于1月19日来到杭州站,与游戏厂商和游戏开发者,畅聊游戏加速. 游戏全球化"蓝海&quo ...
- 百度搜索技术沙龙感悟
对于百度索引中提供检索的数据只有百亿条,而现在每天增加的数据量已是2-3亿条,现在每一天增加的数据量是2003年一年数据的增长量.对于如此强势的增长,要对数据进行全部索引并在200-300个毫秒级返回 ...
- 电信“天翼物联开发者大赛”技术沙龙走进京城,邀您共享NB-Iot盛宴
电信"天翼物联开发者大赛"技术沙龙走进京城,邀您共享NB-Iot盛宴 中国电信首届"天翼物联开发者大赛"技术沙龙北京站 时间:2018年12月07日 13:30 ...
最新文章
- 吐血整理:24种可视化图表优缺点对比,一图看懂!
- 浅谈JDBC与ODBC的区别与应用
- 文件上传服务器jvm调优,JVM性能调优解决方案(12页)-原创力文档
- java中的localDate类_java8-LocalDate类
- php定时执行任务没有执行,linux中定时任务crontab中的php任务无法执行,求可能的原因...
- python下划线怎么输入_python长的下划线怎么打
- 大气的压力竟然能吊起相扑力士!?
- Promise学习笔记
- wampserver php扩展openssl 不可用_PHP基础及WAMP集成基础
- lucene 多索引目录搜索实现方法
- [机器学习-sklearn]数据预处理要点总结
- linux快速cd多层目录,linux 下 cd - cd ~- 和多目录切换技巧(示例代码)
- 利用虚拟机搭建Linux操作系统实验环境
- Android adb环境变量配置
- 【Vue】VSCode搭建Vue项目
- 怎样使用Fiddler工具进行APP抓包
- 构筑“数据连接器”,腾讯云大数据推出“开源开放”战略
- 《无主之地2》已经完工,内容已整理完整封盘送审
- 安装onnx遇到error信息:Couldn‘t build proto file
- android studio抛出,Android Studio升级到3.0,抛出Aapt2Exception异常
热门文章
- 【校招VIP】[前端][二本][7分]简历样式符合一线校招要求
- 橄榄油的美容方法,橄榄油的正确用法
- 漫步微积分十六——最大最小值问题
- DDR5 On Die ECC
- 蓝桥杯成绩分析python
- 华为自带免费测试软件,手机测速软件哪家强 华为推“一键测速”免费无广告...
- 别再让我帮你盖楼了行不?给个脚本自动盖楼领喵币--文末送书
- 如何在漫画阅读器中离线阅读Webcomics
- 黑客日记:我是一个黑客
- mysql offset 问题_MySQL_优化mysql的limit offset的例子, 经常碰到的一个问题是limi - phpStudy...