什么是JSON
什么是JSON
JSON:JavaScript Object Notation 【JavaScript 对象表示法】
JSON 是存储和交换文本信息的语法。类似 XML。
JSON采用完全独立于任何程序语言的文本格式,使JSON成为理想的数据交换语言S
为什么需要JSON
提到JSON,我们就应该和XML来进行对比。XML也是一种存储和交换文本信息的手段。那么JSON好在哪里呢??
JSON 比 XML 更小、更快,更易解析。
-
javaScript原生支持JSON,解析速度会很快
-
XML解析成DOM对象的时候,浏览器【IE和fireFox】会有差异
-
使用JSON会更简单
更加容易创建JavaScript对象
JSON语法
客户端与服务端的交互数据无非就是两种
-
数组
-
对象
于是乎,JSON所表示的数据要么就是对象,要么就是数组
JSON语法是javaScript语法的子集,javaScript用[]中括号来表示数组,用{}大括号来表示对象,JSON亦是如此
JSON数组:
JSON对象
当然啦,数组可以包含对象,在对象中也可以包含数组
解析JSON
javaScript原生支持JSON的,我们可以使用eval()函数来解析JSON,把JSON文本数据转换成一个JavaScript对象。
效果
不用框架时将JavaBean转成JSON
-
使用Strus2的时候,Struts2自带了组件能够让JavaBean对象、集合转成是JSON,不用我们自己拼接…这是非常方便的。
-
使用SpringMVC的时候,SpringMVC也支持将JavaBean转成JSON
但是,我们不一定使用框架来做开发呀。因此,我们还得学习使用第三方库来将JavaBean对象、集合转成JSON
导入开发包
-
commons-io-2.0.1.jar
-
commons-lang-2.5.jar
-
commons-collections-3.1.jar
-
commons-beanutils-1.7.0.jar
-
ezmorph-1.0.3.jar
-
json-lib-2.1-jdk15.jar
事例代码
把要解析成JSON 的javaBena对象、集合放进下面这段代码即可!
无论放进去什么,返回的都是数组
总结
XML+JSON常见面试题
什么是JSON和XML
什么是JSON和XML
JSON:JavaScript Object Notation 【JavaScript 对象表示法】.
XML:extensiable markup language 被称作可扩展标记语言
JSON和XML都是数据交换语言,完全独立于任何程序语言的文本格式。
JSON与XML区别是什么? 有什么共同点
JSON与XML区别是什么? 有什么共同点
共同点:
-
用于RPC远程调用数据交换格式
-
RPC远程调用简单理解:调用本地服务一样调用远程服务
-
具体可参考@用心阁的答案:https://www.zhihu.com/question/25536695和@郑大侠的答案:https://www.zhihu.com/question/25536695/answer/134976748
-
RPC服务与HTTP服务对比:http://blog.csdn.net/wangyunpeng0319/article/details/78651998
区别:
-
XML文件格式复杂,比较占宽带,服务器端与客户端解析xml话费较多的资源和时间.
-
JSON文件格式压缩,占宽带小
JSON、XML解析有那些方式?
JSON、XML解析有那些方式?
-
JSON解析方式(阿里巴巴fastjson、谷歌gson,jackJson)
-
XML解析方式(dom、sax、pul)
XML和JSON优缺点
XML的优点
-
A.格式统一,符合标准;
-
B.容易与其他系统进行远程交互,数据共享比较方便
XML的缺点
-
A.XML文件庞大,文件格式复杂,传输占带宽;
-
B.服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护;
-
C.客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码;
-
D.服务器端和客户端解析XML花费较多的资源和时间。
JSON的优点
-
A.数据格式比较简单,易于读写,格式都是压缩的,占用带宽小;
-
B.易于解析,客户端JavaScript可以简单的通过eval_r()进行JSON数据的读取;
-
C.支持多种语言,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等服务器端语言,便于服务器端的解析;
-
D.因为JSON格式能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,且完成任务不变,并且易于维护
JSON的缺点
-
A.没有XML格式这么推广的深入人心和喜用广泛,没有XML那么通用性;
-
B.JSON片段的创建和验证过程比一般的XML稍显复杂。
参考:http://www.cnblogs.com/SanMaoSpace/p/3139186.html
XPath 是什么
XPath 是什么
XPath 是用于从 XML 文档检索元素的 XML 技术。XML 文档是结构化的,因此 XPath 可以从 XML 文件定位和检索元素、属性或值。从数据检索方面来说,XPath与 SQL 很相似,但是它有自己的语法和规则。了解更多查看怎样使用 XPath 从 XML 文档中检索数据
XML 命名空间是什么?它为什么很重要
XML 命名空间是什么?它为什么很重要
XML 命名空间与 Java 的 package 类似,用来避免不同来源名称相同的标签发生冲突。XML 命名空间在 XML 文档顶部使用 xmlns 属性定义,语法为 xmlns:prefix=’URI’。prefix 与XML 文档中实际标签一起使用。
下面例子为 XML 命名空间的使用。
DOM 和 和 SAX 解析器有什么区别
DOM 和 和 SAX 解析器有什么区别
-
DOM解析读取整个XML文档,在内存中形成DOM树,很方便地对XML文档的内容进行增删改。但如果XML文档的内容过大,那么就会导致内存溢出!
-
SAX解析采用部分读取的方式,可以处理大型文件,但只能对文件按顺序从头到尾解析一遍,不支持文件的增删改操作
-
DOM是基于内存的,不管文件有多大,都会将所有的内容预先装载到内存中。从而消耗很大的内存空间。而SAX是基于事件的。当某个事件被触发时,才获取相应的XML的部分数据,从而不管XML文件有多大,都只占用了少量的内存空间。
-
DOM可以读取XML也可以向XML文件中插入数据,而SAX却只能对XML进行读取,而不能在文件中插入数据。这也是SAX的一个缺点。
-
SAX的另一个缺点:DOM我们可以指定要访问的元素进行随机访问,而SAX则不行。SAX是从文档开始执行遍历的。并且只能遍历一次。也就是说我们不能随机的访问XML文件,只能从头到尾的将XML文件遍历一次(当然也可以中间截断遍历)。
XSLT 是什么?
XSLT 是什么?
XSLT 也是常用的 XML 技术, 用于将一个 XML 文件转换为另一种 XML,HTML 或者其他的格式。XSLT 为转换 XML 文件详细定义了自己的语法,函数和操作符。通常由 XSLT 引擎完成转换,XSLT 引擎读取 XSLT 语法编写的 XML 样式表或者 XSL 文件的指令。XSLT 大量使用递归来执行转换。一个常见 XSLT 使用就是将 XML 文件中的数据作为 HTML 页面显示。XSLT 也可以很方便地把一种 XML 文件转换为另一种 XML 文档
__EOF__

本文链接:https://www.cnblogs.com/sugeek/articles/16687604.html
关于博主:编程菜鸟一只,希望每个今天胜过昨天,一步步走向技术的高峰!
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具