json:(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是JavaScript很容易解释它,而且 JSON 可以表示比"名称 / 值对"更复杂的结构。

JSON 语法是 JavaScript 对象表示法语法的子集。
数据在名称/值对中、数据由逗号分隔、花括号保存对象、方括号保存数组

JSON 值可以是:数字(整数或浮点数)、字符串(在双引号中)、逻辑值(true 或 false)、数组(在方括号中)、对象(在花括号中)、null

例如:

  1. {
  2. "name":"小强",
  3. "age":16,
  4. "msg":["a","b"],
  5. "regex": "^http://.*"
  6. };

JSON.parse是将json格式的字符串转换成json对象。

  1. var str ='{"name":"小强","age":16,"msg":["a","b"],"regex": "^http://.*"}';
  2. var json = JSON.parse(str);
  3. console.log("name:" + json.name);
  4. console.log("msgLen:" + json.msg.length);
  5.  
  6. // 结果
  7. // name:小强
  8. // msgLen:2

备注:单引号写在{}外,每个属性名都必须用双引号。

JSON.stringify是将json对象转换成json格式的字符串。

  1. var json = {"name":"小强","age":16,"msg":["a","b"],"regex": "^http://.*"};
  2. var str = JSON.stringify(json);
  3. console.log("json:" + str);
  4. console.log("jsonLen:" + str.length);
  5.  
  6. // 结果
  7. // json:{"name":"小强","age":16,"msg":["a","b"],"regex":"^http://.*"}
  8. // jsonLen:60

备注:JSON.parse和JSON.stringify支持IE8及其以上版本

将JSON转换成数组

  1. function jsonToArray(obj){
  2. var r = {key:[],value:[]};
  3. for(var k in obj){
  4. if(!obj.hasOwnProperty(k)){
  5. continue;
  6. }
  7. r.key.push(k);
  8. r.value.push(obj[k]);
  9. }
  10. return r;
  11. }
  12.  
  13. var json = {"name":"小强","age":16,"msg":["a","b"],"regex": "^http://.*"};
  14. var arrJson = jsonToArray(json);
  15. console.log("regexKEY:" + arrJson.key[3]);
  16. console.log("regexVALUE:" + arrJson.value[3]);
  17. console.log("KEYLen:" + arrJson.key.length);
  18.  
  19. // 结果
  20. // regexKEY: regex
  21. // regexVALUE: ^http://.*
  22. // KEYLen:4

XML,Extensible Markup Language,扩展性标识语言。文件的后缀名为:.xml。就像HTML的作用是显示数据,XML的作用是传输和存储数据。

XML 被设计的宗旨是:是表示数据,而非显示数据。

据说,java是一门专业操作XML的语言。

是干啥用的?

为了便于不同应用、不同平台之间的数据共享和通信。

具体点的作用为:

(1)可作为一种简单的数据库,存储并检索数据;

(2)传输约定格式的文件;

(3)做软件的配置文件。【配置文件:保存软件设置的文件】

XML的哥哥——HTML

XML的出生是为了完善HTML的缺陷和局限性。

XML的闺蜜——JSON

先来说说“哥哥”和“闺蜜”的区别:哥哥是指一个妈生的;闺蜜是非亲的。

JSON,Javascript Object Notation,js对象表示法。作用也是存储和交换文本信息。

两者比较:JSON比XML更小,更快,更易解析,so,也更受欢迎。

两者作用范围:JSON适用于简单的传值,XML适用于更广阔的范围。
---------------------
作者:王子越-Silvia
来源:CSDN
原文:https://blog.csdn.net/qsbbl/article/details/78628472
版权声明:本文为博主原创文章,转载请附上博文链接!

 

json、xml的更多相关文章

  1. .NET Core采用的全新配置系统[6]: 深入了解三种针对文件(JSON、XML与INI)的配置源

    物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...

  2. iOS - 分析JSON、XML的区别和解析方式的底层是如何实现的(延伸实现原理)

    <分析JSON.XML的区别,JSON.XML解析方式的底层是如何实现的(延伸实现原理)> (一)JSON与XML的区别: (1)可读性方面:基本相同,XML的可读性比较好: (2)可扩展 ...

  3. PHP如何自动识别第三方Restful API的内容,自动渲染成 json、xml、html、serialize、csv、php等数据

    如题,PHP如何自动识别第三方Restful API的内容,自动渲染成 json.xml.html.serialize.csv.php等数据? 其实这也不难,因为Rest API也是基于http协议的 ...

  4. SpringMVC关于json、xml自动转换的原理研究[附带源码分析 --转

    SpringMVC关于json.xml自动转换的原理研究[附带源码分析] 原文地址:http://www.cnblogs.com/fangjian0423/p/springMVC-xml-json-c ...

  5. 深入了解三种针对文件(JSON、XML与INI)的配置源

    深入了解三种针对文件(JSON.XML与INI)的配置源 物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonCon ...

  6. SpringMVC 中整合之JSON、XML

    每次看到好的博客我就想好好的整理起来,便于后面自己复习,同时也共享给网络上的伙伴们! 博客地址: springMVC整合Jaxb2.xStream:  http://www.cnblogs.com/h ...

  7. Dreamer 3.0 支持json、xml、文件上传

    自己写的框架,功能类似Struts2.x 下载地址:http://pan.baidu.com/share/link?shareid=3273223286&uk=470382596 新增功能: ...

  8. notepad++插件实现json、xml格式化

    notepad++比较出色的免费的数据编辑.格式化工具... 现在json.xml文件很流行.格式化也是必须的,方便查看关键信息! 01.下载notepad++及相关插件 npp_7.5.5-x86: ...

  9. jsonUtils&&Json、Xml转换工具Jackson使用

    1.jsonUtils package com.icil.utils; import java.util.List; import com.fasterxml.jackson.core.JsonPro ...

  10. Java 的JSON、XML转换方法——目录索引(转)

    JSON及XML的Java序列化.反序列化(转换)在WebService.Ajax数据传递中,用得比较多.如:在用ExtJS.jQuery.mootools以及一些WebService时,你可以需要用 ...

随机推荐

  1. Screen - BOM对象

    Screen 对象 Screen 对象包含有关客户端显示屏幕的信息. 注释:没有应用于 screen 对象的公开标准,不过所有浏览器都支持该对象. Screen 对象属性 属性 描述 availHei ...

  2. Perl 变量:标量变量、数组变量、哈希变量和变量上下文

    一.Perl 变量变量是存储在内存中的数据,创建一个变量即会在内存上开辟一个空间.解释器会根据变量的类型来决定其在内存中的存储空间,因此你可以为变量分配不同的数据类型,如整型.浮点型.字符串等.上一章 ...

  3. ADO.NET连接池

    池:理解为一堆集合,一堆数组,一堆对象ado.net连接池,连接字符串注明Pooling=false关闭连接池 web应用是肯定要启动连接池的,因为默认启动,可以不用管,知道这么一回事就OK了当启动连 ...

  4. Junit问题01 利用 @Autowired 注入失效问题

    1 利用 @Autowired 注入失效问题 1.1 问题描述 在使用Junit作为测试框架的单元测试中,直接了用@Autowired记性依赖注入时总是注入失败 1.2 问题原因 在测试类中没有设定上 ...

  5. virsh 查看hypervisor特性

    [root@opennebula var]# virsh -c qemu:///system nodeinfo CPU model: x86_64 CPU(s): CPU frequency: MHz ...

  6. 面试题:各大公司Java后端开发面试题总结 已看1 背1 有用 链接有必要看看

    ThreadLocal(线程变量副本)       --整理 Synchronized实现内存共享,ThreadLocal为每个线程维护一个本地变量. 采用空间换时间,它用于线程间的数据隔离,为每一个 ...

  7. Asp.net MVC获取访问系统的客户端计算机的主机名和IP地址

    string HostName = string.Empty; string ip = string.Empty; string ipv4 = String.Empty; if (!string.Is ...

  8. JavaWeb中的路径问题

    JavaWEB 开发中的 / 的含义 ①.当前WEB应用的根路径(http://localhost:8080/contextPath/) 请求转发时:request.getRequestDispath ...

  9. LightOJ 1282 Leading and Trailing (数学)

    题意:求 n^k 的前三位和后三位. 析:后三位,很简单就是快速幂,然后取模1000,注意要补0不全的话,对于前三位,先取10的对数,然后整数部分就是10000....,不用要,只要小数部分就好,然后 ...

  10. java -version javac -version 版本不一致

    系统先装了jdk1.8 ,环境变量里配置的是jdk1.8,java -version 与javac -version 版本一致. 然后安装了jdk1.7 ,环境变量java_home 改成了1.7,但 ...