前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >xml与json

xml与json

作者头像
xiaozhangStu
发布2023-05-04 19:24:31
5070
发布2023-05-04 19:24:31
举报
文章被收录于专栏:xiaozhangStuxiaozhangStu

xml与json

简介

XML(EXtensible Markup Language)

可扩展标记语言

特点

XML与操作系统、编程语言的开发平台无关 实现不同系统之间的数据交换

作用

数据交互 配置应用程序和网站 Ajax基石

XML文档内容由一系列标签元素组成

XML标签

<元素名 属性名=“属性值”>元素内容</元素名>

属性值用双引号包裹 一个元素可以有多个属性 属性值中不能直接包含<、“、& 不建议使用的字符:‘、>

注意事项

所有XML元素都必须有结束标签 XML标签对大小写敏感 XML必须正确的嵌套 同级标签以缩进对齐 元素名称可以包含字母、数字或其他的字符 元素名称不能以数字或者标点符号开始 元素名称中不能含空格

举例

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>           声明部分
<clothesSize>
    <size range="height&lt;165">S</size>
    <size range="165&lt;height&lt;170">M</size>
    <size range="110&lt;height&lt;175">L</size>
    <size range="175&lt;height&lt;180">XL</size>
    <size range="180&lt;height&lt;185">XXL</size>
</clothesSize>

命名冲突问题

前缀
代码语言:javascript
复制
<a:table>
</a:table>
<b:table>
</b:table>
命名空间
代码语言:javascript
复制
<a:table xmlns="http://www.baidu.com">
</a:table>
xmlns-->xmlnamespace
代码语言:javascript
复制
特殊字符处理
采用<![CDATA[ ]]>特殊标签,将包含特殊字符的字符串封装起来。
例如:
<TitleName><![CDATA["姓名"]]></TitleName>
​
其二,使用XML转义序列表示这些特殊的字符,这5个特殊字符所对应XML转义序列为:
&  &amp;
<  &lt;
>  &gt;
"  &quot;
'  &apos;
​
注意

知道dom4j解析xml就行了,现在都不用xml去传递消息了

xml文件能看得懂就行了

json(重点中的重点)

特点

JSON(JavaScript Object Notation) 轻量级的文本数据交换格式 具有自我描述性 比XML传输速度快

语法规则
两种数据结构:对象和数组

大括号内为对象 中括号内为数组

对象中的数据由名称/值对构成

值的类型可为字符串、数字、布尔值、null、数组、对象 数据之间由逗号分隔

数组中的数据类型同名称/值对中值的类型
FastJson

现在接口传输数据一般都是用的json了

代码语言:javascript
复制
[
    {
        "id": "user_list",
        "key": "id",
        "tableName": "用户列表",
        "className": "cn.dmego.domain.User",
        "column": [
            {
                "key": "rowIndex",
                "header": "序号",
                "width": "50",
                "allowSort": "false"
            },
            {
                "key": "id",
                "header": "id",
                "hidden": "true"
            },
            {
                "key": "name",
                "header": "姓名",
                "width": "100",
                "allowSort": "true"
            }
        ]
    },
    {
        "id": "role_list",
        "key": "id",
        "tableName": "角色列表",
        "className": "cn.dmego.domain.Role",
        "column": [
            {
                "key": "rowIndex",
                "header": "序号",
                "width": "50",
                "allowSort": "false"
            },
            {
                "key": "id",
                "header": "id",
                "hidden": "true"
            },
            {
                "key": "name",
                "header": "名称",
                "width": "100",
                "allowSort": "true"
            }
        ]
    }
]

由阿里开源的JSON解析框架

代码语言:javascript
复制
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean 
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合 
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 
public static final Object toJSON(Object javaObject); //将JavaBean转换为JSONObject或者JSONArray。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-02-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • xml与json
    • 简介
      • XML标签
        • 注意事项
          • 命名冲突问题
            • json(重点中的重点)
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档