xml与json的区别和跨域

简介: xml与json的区别和跨域

xml定义


指可扩展标记语言,用来传输和存储数据。用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型、是一种允许用户对自己的标记语言进行定义的源语言。XML使用DTD文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。


json定义                            


json一种轻量级的数据交换格式,具有良好的可读性和便于快速编写的特性。可在不同平台之间进行数据交换。json采用兼容性很高的、完全独立与语言文本格式,同时也具备类似于c语言\以及java、python等等体系的习惯。这些使得JSON成为理想的数据交换语言。


xml:可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言。


json:(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。


二者区别:


它们都是一种数据交换格式。


1,xml是重量级的,json是轻量级的。


2,xml在传输过程中比较占带宽,json占带宽少,易于压缩。


3,xml和json都用在项目交互下,xml多用于做配置文件,json用于数据交互。


4,json可用jackson,gson等方法解析,xml可用dom,sax,demo4j等方式解析。


什么是跨域

跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。


例如:a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都限制了跨域访问,也就是不允许跨域请求资源。注意:跨域限制访问,其实是浏览器的限制。理解这一点很重要!!!


同源策略:是指协议,域名,端口都要相同,其中有一个不同都会产生跨域;


解决跨域的方法

解决跨域的方法有:

1. 前端框架:以vue为例修改 vue.config.js

devServer: {
    open: true,
    host: 'localhost',
    port: 8080,
    overlay: {
        warnings: false,
        errors: true
    },
    proxy: {
        '/api': {
            target: '接口路径',
            ws: true,
            changOrigin: true,
            pathRewrite: {
            '^/api': ''
            }
        }
    }
}

2. JSONP

$.ajax({
      // ********************************基本写法够了
      // 内部实现过程就是上节优化写;不是XHR,造script标签;
      dataType: 'jsonp',
      url: "http://www.liulongbin.top:3006/api/jsonp",
      success: function(res) {
        console.log(res);
      },
      // ********************************灵活配置
      // 指定后面值:后台约定参数名
      // jsonp: 'callback',
      // 指定值:前端指定执行函数的名称
      // jsonpCallback: "fn"
    })
相关文章
|
3月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
51 1
|
4月前
|
XML JSON 前端开发
【Web前端揭秘】XML与JSON:数据界的双雄对决,你的选择将如何改写Web世界的未来?
【8月更文挑战第26天】本文深入探讨了XML和JSON这两种广泛使用的数据交换格式在Web前端开发中的应用。XML采用自定义标签描述数据结构,适用于复杂层次数据的表示,而JSON则以键值对形式呈现数据,更为轻量且易解析。通过对两种格式的示例代码、结构特点及应用场景的分析,本文旨在帮助读者更好地理解它们的差异,并根据实际需求选择最合适的数据交换格式。
74 1
|
3月前
|
XML JSON 数据处理
C# 中的 XML 与 JSON 数据处理
在现代软件开发中,数据交换和存储需求日益增长,XML 和 JSON 成为最常用的数据格式。本文从 C# 角度出发,详细介绍如何处理这两种格式,并提供示例代码。对于 XML,我们介绍了读取、创建和写入 XML 文件的方法;对于 JSON,则展示了如何使用 Newtonsoft.Json 库进行数据解析和序列化。此外,文章还总结了常见问题及其解决方案,帮助开发者更好地应对实际项目中的挑战。
197 61
C# 中的 XML 与 JSON 数据处理
|
2月前
|
XML JSON 数据可视化
数据集学习笔记(二): 转换不同类型的数据集用于模型训练(XML、VOC、YOLO、COCO、JSON、PNG)
本文详细介绍了不同数据集格式之间的转换方法,包括YOLO、VOC、COCO、JSON、TXT和PNG等格式,以及如何可视化验证数据集。
355 1
数据集学习笔记(二): 转换不同类型的数据集用于模型训练(XML、VOC、YOLO、COCO、JSON、PNG)
|
2月前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
598 0
|
2月前
|
安全 内存技术
【文件上传-配置文件】crossdomain.xml跨域策略配置文件上传
【文件上传-配置文件】crossdomain.xml跨域策略配置文件上传
|
4月前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
132 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
4月前
|
Java Spring 容器
彻底改变你的编程人生!揭秘 Spring 框架依赖注入的神奇魔力,让你的代码瞬间焕然一新!
【8月更文挑战第31天】本文介绍 Spring 框架中的依赖注入(DI),一种降低代码耦合度的设计模式。通过 Spring 的 DI 容器,开发者可专注业务逻辑而非依赖管理。文中详细解释了 DI 的基本概念及其实现方式,如构造器注入、字段注入与 setter 方法注入,并提供示例说明如何在实际项目中应用这些技术。通过 Spring 的 @Configuration 和 @Bean 注解,可轻松定义与管理应用中的组件及其依赖关系,实现更简洁、易维护的代码结构。
67 0
|
5月前
|
存储 JSON 数据格式
Python教程:json中load和loads的区别
【7月更文挑战第17天】在Python的`json`模块中, `load`与`loads`函数均用于JSON至Python对象的转换, 区别在于: - **`loads`**处理JSON格式的**字符串** 其中`data.json`文件内容为`{"name": "Bob", "age": 30}`。 简而言之, `loads`用于字符串, 而`load`用于文件对象。根据数据来源选择合适的方法。
132 5
|
4月前
|
XML 数据格式
DTD和XML Schema之间的区别?
【8月更文挑战第22天】
82 0