当前位置:首页 > 网络黑客 > 正文内容

xml转json工具类(安卓json编辑器教程)

访客3年前 (2022-01-26)网络黑客1025

一、引言

现如今 Restful API 越来越流行,而 *** ON 和 XML 基本上是两种主流格式用来交换数据, *** ON和 XML 都在 Web上有完善的开放标准(RFC 7159,RFC 4825),本文将带着大家来了解下这个两种数据格式。

二、 *** ON

1、 *** ON 简介

*** ON 是一种用于在多个应用程序之间共享数据的通信格式。 *** ON代表 JavaScript Object Notation。它基本上是键值对的 *** 。

官网:http://www.json.org/

在线校验 *** ON结构的网站:https://jsonformatter.curiousconcept.com/

2、 *** ON 数据结构

*** ON 有两种数据结构:

Map,也称为对象;{….} Array;[……]

也就是说所有的 *** ON 对象都是要以这些形式表示;

2.1、Map

简单的说就是 Java 中的 Map,名称-值对的形式给出,名称和值之间用 “:” 隔开,两个Map之间用“,”隔开,一般表示形式如下:

{'key1':'value1'%2c'key2':'value2'}

下面的 Object 有 3 个键值对

{ "firstName" : "Vijay"%2c "lastName" : "Gupta"%2c "gender" : "Male" }

Map 是一个无序的“‘名称/值’对” *** 。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“%2c”(逗号)分隔。

2.2、 Array

就是普通意义上的数组,一般形式如下:

['arr1'%2c'arr2'%2c'arr3'];

下面的数组有 3 个 *** ON 对象,每个对象有 3 个键值对

[
{"name" : "Potato"%2c"stock" : "10"%2c "unit" : "kg"}%2c
{"name" : "Tomato"%2c"stock" : "32"%2c "unit" : "kg"}%2c
{"name" : "Onion"%2c"stock" : "27"%2c "unit" : "kg"}
]

数组是值(value)的有序 *** 。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“%2c”(逗号)分隔。

图中的值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。

字符串(string)是由双引号包围的任意数量 Unicode 字符的 *** ,使用反斜线转义。一个字符(character)即一个单独的字符串(character string)。

字符串(string)与C或者Java的字符串非常相似。

数值(number)也与C或者Java的数值非常相似。除去未曾使用的八进制与十六进制格式。除去一些编码细节。

2.3、嵌套Map

*** ON对象也可以嵌套:

{
"id": "0001"%2c "type": "donut"%2c "name": "Cake"%2c
"image":
{ "url": "images/0001.jpg"%2c "width": 200%2c "height": 200}%2c
"thumbnail":
{"url": "images/thumbnails/0001.jpg"%2c "width": 32%2c "height": 32}
}

2.4、小结

*** ON 的数据结构只有两种 可以嵌套表示,比如 Array 中可以嵌套 Object 等 Object 是以{}表示,Array是以 [ ] 表示

三、XML

1、XML简介

XML 是一种标记语言,也是一种用于在多个应用程序之间共享数据的通信格式,而不是 HTML,它更侧重于数据表示。

XML 被设计用来描述数据并关注数据是什么

XML 标签不需要预先定义。在 XML 中,标签和文档结构由其作者定义。通常,XML标签是自解释的,并描述它们之间的内容。

例如:

<section>
 <title>BOOK</title>
 <signing>
  <author name="author-1"/>
  <book title="book1" price="$11"/>
 </signing>
 <signing>
  <author name="author-2"/>
  <book title="book2" price="$22"/>
 </signing>
</section>

1.1、XML语法规则

必须包含一个根元素,它是所有其他元素的父元素 所有 XML 元素都必须具有结束标记 XML 标签区分大小写 XML 元素必须正确嵌套 必须引用 XML 属性值

在线校验XML结构的网站:https://codebeautify.org/xmlvalidator

1.2、XML中的实体引用

某些字符不能用作 XML 标记内的内容。因此,我们用特定文本(称为实体引用)替换这些字符,以便从字面上解析这些字符

在 XML 中有 5 个预定义的实体引用:

四、 *** ON与XML互转示例

在线格式互转: http://www.utilities-online.info/xmltojson/#.XFE-pegzaUk

1、简单XML

XML格式:

<person>
 <name>zuozewei</name>
 <age>20</age>
</person>

*** ON格式:

{
 "name":"zuozewei"%2c
 "age":20
}

2、复杂XML

XML格式:

<section>
 <title>BOOK</title>
 <signing>
  <author name="author-1"/>
  <book title="book1" price="$11"/>
 </signing>
 <signing>
  <author name="author-2"/>
  <book title="book2" price="$22"/>
 </signing>
</section>

*** ON格式:

{
  "section": {
    "title": "BOOK"%2c
    "signing": [
      {
        "author": { "-name": "author-1" }%2c
        "book": {
          "-title": "book1"%2c
          "-price": "$11"
        }
      }%2c
      {
        "author": { "-name": "author-2" }%2c
        "book": {
          "-title": "book2"%2c
          "-price": "$22"
        }
      }
    ]
  }
}

五、XML VS *** ON

六、总结

XML是一种数据格式,同时它也是一种语言。它具有许多强大的功能,使其不仅仅是简单的数据交换数据格式。例如 XPath,属性和命名空间,XML 模式和 XSLT 等。所有这些功能都是 XML 流行的主要原因。

*** ON 并不是为了拥有这样的功能而设计的,即使它们中的一些现在正试图在 *** ON 中找到它们的位置,例如 *** ONPath。

简而言之,XML 的目的是文档标记。每当文档标记和元数据是数据的重要组成部分并且不能被删除时,总是更喜欢使用 XML。

*** ON 的目的是结构化数据交换。它通过直接表示对象,数组,数字,字符串和布尔值来实现此目的。如果不要求元数据和文档标记,始终使用 *** ON。

扫描二维码推送至手机访问。

版权声明:本文由黑客技术发布,如需转载请注明出处。

本文链接:https://w-123.com/89764.html

标签: 网站随笔

“xml转json工具类(安卓json编辑器教程)” 的相关文章

数百个 GoDaddy 托管的网站,短时间内被部署了后门

Bleeping Computer 网站披露,网络安全分析师发现 GoDaddy 管理服务器上托管的部分 WordPress 网站,被部署了大量后门,所有网站都具有相同的后门有效载荷。 据悉,这次网络攻击可能影响到许多互联网服务经销商,已知的包括 MediaTemple、tsoHost、123Re...

Google Chrome 99.0.4844.84 紧急更新修复了已被利用的零日漏洞

Google已经为Windows、Mac和Linux用户发布了Chrome 99.0.4844.84,以解决一个在外部被利用的高严重性零日漏洞。浏览器供应商在周五发布的安全公告中说:”Google已经得知CVE-2022-1096的一个漏洞存在于外部。” 99.0.4844.84版本已经在稳定的桌...

设备接管风险警告!F5 发现一个关键 BIG-IP 远程执行漏洞

近日,应用交付领域(ADN)全球领导者F5公司发布了一项安全警告,其研究团队监测到一个关键漏洞正在被积极利用。漏洞的追踪代码为CVE-2022-1388,CVSS 3.0评分为9.8,危险等级非常高。该漏洞允许未经身份验证的网络攻击者执行任意系统命令,执行文件操作,并禁用BIG-IP上的服务。 根...

红十字国际委员会称“国家支持的”黑客利用未修复的漏洞发起攻击

据TechCrunch报道,红十字国际委员会(ICRC)最近遭到网络攻击,超过51.5万名“高危人群”的数据被泄露,这很可能是国家支持的黑客所为。在周三发布的更新中,红十字国际委员会证实,最初的入侵可以追溯到2021年11月9日,即在1月18日攻击被披露之前的两个月,并补充说,其分析表明,入侵是对其...

谷歌搜索 2021 Webspam 报告:过滤垃圾网站数量是 2020 年的六倍

由周四发布的“网络垃圾”(Webspam)报告可知,谷歌搜索在 2021 年过滤的垃圾网站数量、竟是 2020 年的六倍。据悉,作为 Alphabet 旗下子公司,Google 有一套名为 SpamBrian 的人工智能垃圾过滤系统,并且可在超过 99% 情况下实现“不受垃圾所困扰”(spam-fr...

泄露的 Facebook 工程师文件承认违法使用用户数据 或将面临全球收入 4% 的罚款

Facebook正面临一场世界各地隐私法规“海啸”,这将迫使该公司大幅改变处理用户个人数据的方式。根据外媒获得的一份从Facebook泄露的文件,Facebook这场“劫难”的根源在于,他们自己都搞不清楚用户数据的用途和去向。 这份泄露的文件是由Facebook广告和商业产品团队的隐私工程师去...

评论列表

酒奴木緿
2年前 (2022-08-13)

{ "title": "BOOK"%2c "signing": [ { "author": { "-name": "author-1" }%2c

末屿萌懂
2年前 (2022-08-13)

humbnail":{"url": "images/thumbnails/0001.jpg"%2c "width": 32%2c "height": 32}}2.4、小结JSON 的数

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。