反射 XML和JSON
反射:
反射概念:在运行状态中,对于任意一个类都能知道这个类的所有方法和属性;对于任意一个对象,都能调用它的任意一个方法和属性,这种动态获取信息以及动态调用对象的方法的功能称为反射机制。
java反射相关的类主要包括
Class 类型
Constructor 构造方法
Method 方法
Field 属性
...都在java.lang.reflect包中
Constructor构造方法和Method方法的区别
相同处;都能通过get方法获取方法名getName、方法的参数类型getParameterTypes
不同处:Constructor还可以创建实例newinstance
Method还可以获取方法的返回值类型getReturnType、通过invoke调用任意一个对象的具体方法
XML的概念
XML指可扩展标记语言、主要作用是传输数据并不是显示数据、
XML文档必须有根元素、
节点元素必须有对应的关闭标签、
XML标签对大小写敏感、
XML元素必须被正确的嵌套、
XML属性值必须加引号
DOM和SAX两种解析模式
DOM:Document Object Model
文档对象模型,将整个文档加载进内存并分析整体结构,根据节点元素之间的父子关系完成整个文档上所有节点的遍历
优势:符合XML整体数据结构逻辑定义,可以对文档结构进行修改
劣势:需要完整的加载文档,效率低,对于大型文档不适用
SAX:Simple API for XML
针对XML文档的事件驱动解析引擎,逐行对文档进行分析,遇到文档的特定组成部分后回调预先定义的事件回调
优势:无需完整加载文档,一边加载一边逐条解析、不会对程序的运行时内存造成影响
劣势;不符合XML文档的整体数据结构,只能用来解析遍历,不能修改
JSON概念
是更轻量级的文本数据交换格式、类似XML,但是比XML更小更快更易解析
JSON和XML的区别
相同处:
都是纯文本
具有自我描述性(人类可读)
具有层级结构(值中存在值)
不同处
没有结束标签
更短、更简洁
读写的速度更快
能使用内建的JacaScript eval()方法解析
使用数组
不使用保留字
JSON返回示例;
{
"resultcode":"200",
"reason":"Return Successd!",
"result":
{
"area":"江苏省苏州市",
"location":"电信"
}
}
XML返回示例:
<?xml version="1.0" encoding="utf-8"?>
<root>
<resultcode>200</resultcode>
<reason>Return Successd</reason>
<result>
<area>江苏省苏州市</area>
<location>电信</location>
</result>
</root>
反射 XML和JSON的更多相关文章
- WebApi接口 - 响应输出xml和json
格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...
- 【.net 深呼吸】聊聊WCF服务返回XML或JSON格式数据
有时候,为了让数据可以“跨国经营”,尤其是HTTP Web有关的东东,会将数据内容以 XML 或 JSON 的格式返回,这样一来,不管客户端平台是四大文明古国,还是处于蒙昧时代的原始部落,都可以使用这 ...
- C# XML转JSON,不引用第三方JSON.NET类库
应用场景:需要调用第三方接口(返回XML)数据,然后供自己多个系统使用(涉及跨域,使用JSONP) 代理:调用接口(把XML转换为JSONP解决跨域问题) B/S应用系统:调用代理返回的数据进行UI显 ...
- SQL2008使用json.net实现XML与JSON互转
借助CLR,首先实现字符串的互转,然后使用存储过程实现JSON2table public class JsonFunction { /// <summary> ...
- [Network] HTML、XML和JSON学习汇总
写在前面:楼主也是刚刚接触这方面的知识,之前完全是零基础,后来经朋友推荐了几个不错的博文,看完以后豁然开朗.但是此博文更加偏重于基础知识介绍(其实更深的楼主也还不了解,这方面的大神请绕道),只是分享个 ...
- XML和JSON数据格式对比
概念 XML 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语 ...
- xml和json的区别
本文转自SanMaoSpace的博客 链接地址如下:http://www.cnblogs.com/SanMaoSpace/p/3139186.html 1.定义介绍 (1).XML定义扩展标记语言 ( ...
- C#中XML和json互相转换
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Xm ...
- 数据解析(XML和JSON数据结构)
一 解析 二 XML数据结构 三 JSON 数据结构 一 解析 1 定义: 从事先规定好的格式中提取数据 解析的前提:提前约定好格式,数据提供方按照格式提供数据.数据获取方则按照 ...
随机推荐
- d3.js svg中 g 标签问题一览
svg 中的g标签, 算是比较特殊 1 没有x y属性 2 没有width height 属性 3 不能fill 4 .... g标签基本只管分组问题, 其他功能一概不提供 要解决这些问题, 直接在g ...
- Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.4.1:clean (default-clean) on project
在maven项目中 启动了2个tomcat,只能启动一个.
- Failed to install gems via Bundler
问题:在执行git push heroku master时,程序报错. 解决办法: 1.bundle update 2.git add . 3.git commit -m "message& ...
- Unity3d项目入门之打Apk包
②结合Android Studio编译器打安卓包 在安卓官网下载AS,按照步骤正常安装编译器完毕,运行AS,点击右下图的图标打开SDK Manager, 选择下载安装相关的“SDK Platform” ...
- 51-迷宫(一)- java版dfs和bfs
一天蒜头君掉进了一个迷宫里面,蒜头君想逃出去,可怜的蒜头君连迷宫是否有能逃出去的路都不知道. 看在蒜头君这么可怜的份上,就请聪明的你告诉蒜头君是否有可以逃出去的路. 输入格式 第一行输入两个整数 nn ...
- ajax获取数据中文显示问号
技术交流群:816227112 问题: 解决 : 在 response.getWriter() 之前加上 response.setContentType("text/html;charset ...
- windows下Docker的安装
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...
- unity fbx 导出动画
public class ActionConvetTool { [MenuItem("ActionTools/动作处理")] public static void ActionCo ...
- Qt5.12.2开发Android环境搭建
Qt-Android开发环境概要qt-opensource-windows-x86-5.12.2----armv7jdk-8u201-windows-x64android-ndk-r18b-windo ...
- Spring bean的生命流程
Spring 是一个轻量级的 J2EE 开源框架,其目标是降低企业级应用开发难度,提高企业级应用开发效率.在日程开发中,我们会经常使用 Spring 框架去构建应用.所以作为一个经常使用的框架,了解其 ...