一.二进制
无法直接阅读,需在二进制层面编码解码; 格式由厂商定义,特定应用需要表示的对象很复杂时,格式也非常复杂,例如office文件格式; 通常需要充分考虑协议的扩展性、兼容性,例如windows的文件格式,
DOS header、COFF header、PE、CLR header等;相对于文本形式,体积小,编码、解码可以更高效;
二.XML
文本协议,可以阅读;严格的格式要求;运用广泛,相关技术比较丰富,例如DTD、XPath、XLink、XPoint、XSLT等;
<site> <name>sina</name> <url>http://www.sina.com.cn</url> </site> <site> <name>google</name> <url>http://www.google.com</url> </site>
三.JSON
文本协议,易于阅读; 相比于XML,语法更简单,体积更小,有javascript语言的标准支持。缺少引用概念(XLink、XPoint),缺少路径概念(XPath); XML用于更通用的目的,JSON更适合于数据交互的环境(尤其是web环境);
JSON基于 javascript语言ECMA 262 3rd Edition,现在趋向于成为一种跨语言的数据交互格式 完整的格式最初由RFC4627定义,直观的 syntax diagram以及各语言的支持类库参考json.org
{"UserID":11, "Name":"Truly", "Email":"zhuleipro◎hotmail.com"};
四. YAML
文本协议,易于阅读;YAML的语法比JSON复杂,JSON可以看作YAML的一个子集。也正因为语法规范较复杂,不同的YAML库对某些特征的处理也可能不一样。
YAML与XML的比较:
a.YAML的可读性好。
b.YAML和脚本语言的交互性好。
c.YAML使用实现语言的数据类型。
d.YAML有一个一致的信息模型。
e.YAML易于实现。
上面5条也就是XML不足的地方。同时,YAML也有XML的下列优点:
a.YAML可以基于流来处理;
b.YAML表达能力强,扩展性好。
教程:http://www.cnblogs.com/wengjinbao/articles/652031.html
name: John Smith age: 37 spouse: name: Jane Smith age: 25 children: - name: Jimmy Smith age: 15 - name: Jenny Smith age 12
相关推荐
【标题】:“一个跨平台的聊天工具”所涉及的知识点主要涵盖了软件开发的多个领域,尤其是跨平台应用程序的构建和网络通信技术。 首先,我们来理解“跨平台”的概念。跨平台意味着该聊天工具能够在不同的操作系统上...
【基于光保护设备的跨平台数据采集服务设计与实现】 在现代通信领域,光纤保护系统起着至关重要的作用,确保信息传输的安全与高效。为了有效监控这些系统,设计并实现一个跨平台的数据采集服务显得尤为必要。这个...
跨平台进程间通信(IPC,Inter-Process Communication)是计算机技术中的一个重要概念,它允许不同进程之间共享数据、协调工作,实现系统资源的有效利用。在标题中提到的“跨平台进程间通信源码”可能是一个软件库...
本项目名为"C++ 跨平台 异步消息队列",显然它提供了一个用C++编写的跨平台解决方案,用于在不同线程间安全地传递和处理消息。下面我们将深入探讨这个项目的相关知识点。 首先,异步消息队列的核心概念是将任务或...
### IDL与C#的数据传递方法研究:COM_IDL_CONNECT #### 1. 组件特点 COM_IDL_CONNECT组件作为连接IDL(Interactive Data Language)与C#之间桥梁的关键部分,其核心价值在于能够高效地在两种不同的编程环境之间...
面向服务架构(SOA)通过其松耦合、可重用的服务模型为企业提供了强大的跨平台数据交换能力和搜索功能。通过采用标准化的技术和协议,SOA不仅促进了不同系统之间的集成,还提高了整个系统的灵活性和效率。对于那些希望...
4. **技术选型**:文中提到的JNA(Java Native Access)技术,是一种允许Java代码和其他语言(如Fortran)进行交互的库,它可以用来在Java平台上调用本机库函数,这在跨平台数据传输中起着关键作用。 5. **应用实例...
在C++编程中,跨平台性是一个重要的考量因素,特别是在涉及到操作系统底层机制如线程、锁和信号量等时。本文将深入探讨标题和描述中提及的“跨平台的C++线程模板类”以及“信号量及互斥量模板类”。 首先,线程是...
有多种方法实现数据传递: - **属性赋值**:对象间的属性可以直接赋值,例如,一个窗口的文本框内容可以赋值给另一个窗口的变量。 - **事件参数**:通过事件处理函数,可以将数据作为参数传递,如按钮点击事件携带...
本主题聚焦于如何在Delphi的FireMonkey(FMX)框架下,通过JavaScript(JS)调用Echarts进行跨平台数据可视化。 Echarts是一个开源的JavaScript图表库,它提供了丰富的图表类型,如柱状图、饼图等,适用于Web应用的...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,设计用于高效地传输和存储数据,尤其适合服务器与JavaScript之间的交互。...对于需要跨平台、跨语言的数据交换,JSON无疑是一个强大的选择。
在全三维研制模式下,产品数据传递的主要载体是带有制造信息的三维设计模型。然而,在不同CAD/CAM(计算机辅助设计/计算机辅助制造)平台间传递时,常常会遇到制造信息传递的障碍。这是因为不同平台对于设计模型的...
例如,XML是一种通用的数据交换格式,适合跨平台通信;DataSet则提供了在内存中处理数据的能力,适用于Windows Forms或ASP.NET页面的数据绑定;有类型的DataSet提供了更强的类型安全性和代码提示;而自定义类允许更...
总的来说,"u3d用跨平台Excel读取插件"是一个实用的工具,它通过将Excel数据无缝集成到Unity3D项目中,极大地提升了开发效率,同时也降低了数据管理的复杂度。对于需要处理大量数据的游戏开发项目来说,这样的插件...
二是完成信息传递、数据保存等辅助功能的非界面类库。通过使用这些类库,开发者可以轻松地创建具有平台原生外观和行为的应用程序。例如,wxWidgets提供的控件类库包括菜单栏、菜单项、按钮、文本框等组件。 **跨...
Windows Communication Foundation(WCF)是Microsoft在.NET Framework 3.5框架下推出的一种新的编程模式和技术框架,它为开发人员提供了一种统一的方法来实现跨平台、跨进程的服务通信。WCF支持多种传输协议、消息...
标题中的“一个跨平台Jpg转Bmp图像转化类”指的是一个C++编程实现的类,这个类能够处理在Windows和Linux操作系统上的JPEG(Jpg)图像格式转换为Bitmap(Bmp)图像格式的任务。这样的类通常是为了方便开发者在不同...
数据可以通过写入和读取文件来进行传递,尤其是在跨网络或跨平台的场景下。这种方法简单,但可能不适用于实时性要求高的情况,因为文件系统的访问速度相对较低。 5. **数据库**: 数据可以存储在一个共享的数据库...
3. **兼容性**:大部分现代Web开发语言都有内置或第三方库支持Json的序列化和反序列化,跨平台交互方便。 **在Ajax中的Json应用** 1. **序列化数据**:在发送请求前,将JavaScript对象转换为Json字符串,通过send...