JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 以文本形式存在,既然谈到格式,说明这玩意就是一个约定。比如服务器(Java实现)与前端(可能是网页可能是PC端)进行数据交互,很多都用Json。

JSON建构于两种结构:

  • “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它(值)被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
  • 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

根据上面两个定义举例说明这两种JSON包:

{"aa": 1,"bb": 2.2,"cc": "abc","dc": {"ee": 33,"ff": 44.44},"gg": [5, 6.6, "I love you"]
}
[1,22.2,{"aa": 11,"bb": 22.2},[55, 77.7, {"dd": 2}]
]

要不然是一个object(以“{”开头,以“}”结尾),要不然是一个array(以“[”开头,以“]”结尾)。

Json中文网:http://www.json.org/json-zh.html。这里主要对这个网站里几张图做一下分析。

JSON具有以下这些形式:

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

这里除了object和value之外,其余的都是简单类型,很好理解。而object和array会有嵌套操作。

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

我认为这里的重点是,“无序的“‘名称/值’对”集合”,你不能这里面加一个value,也不能加一个object(即object嵌套object),亦不能是array,反正只能是 “名称/值”对。举个例子:

{1,“name”:“Jack”,“girfriend”:null,{"height":1.81}[1,"hello",{"Kobe":"mvp"}]"Thunder":{"威少":"劲爆"},"Warrior”:[{"Curry":"超远三方","杜兰特"}]
}

这里第一个,第四个和第五个元素会导致错误,因为object里面只能是键值对。第六,七个是可以的,因为它们是‘名称/值’对,只不过,它们的值分别是object和array(这里就可以产生嵌套,并不是直接嵌套,而是把object和array放到‘名称/值’ 的 ‘值’里)。

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

object是无序的“名称/值”对集合,array是value的有序集合,这应该是整个Json最难点。举个例子:

[ 1,“瞎写的”,null,"myname":"李小乾”,{"name":"Jack","age":13},[{"name":"Bob"},{"father":"James"}]
] 

这里的第四个元素是错误的,因为它不是value的一种啊。记住,“名称/值”对不是value。

第五个元素是一个object,array可以嵌套object。第六个元素是一个array,array可以嵌套自己。

string与number格式,这里不讲。

Json数据格式解析,难点,易错点分析相关推荐

  1. 10以内逆向运算题_【七年级上】数学 有理数运算典型易错题分析(下)

    写在前面 再过几日,各版本教材有理数的运算内容即将结束,加减乘除乘方的运算法则全面铺开,有些题开始变得非常容易错,究其原因,主要问题还是出在运算顺序错,未能确定符号,乱用运算律等方面,因此,本讲针对乘 ...

  2. JSON 数据格式解析(转)

    JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互.本文将快速讲解 JSON 格式,并通过代码示例演示如 ...

  3. C语言一级指针(char *)易错模型分析

    C语言一级指针char *易错模型分析 char *(字符串)做函数参数出错模型分析 越界 不断修改指针变量的值 你向外面传递什么 重复的错误何时休 char *(字符串)做函数参数出错模型分析 建立 ...

  4. ssh 配置:在 Linux 中 ssh 配置无密码登陆完整步骤以及易错点分析

    文章目录 前言 一.什么是 SSH? 二.ssh 配置无密码登陆原理 三.Linux 系统上生成 SSH 密钥和公钥 四.登录验证 总结 前言 对于 Hadoop 的伪分布式和全分布式而言,Hadoo ...

  5. 大数据基础系列 4:伪分布式 Hadoop 在 Ubuntu 上的安装流程完整步骤及易错点分析

    文章目录 前言 一.创建 Ubuntu 用户 二.安装 Java 2.1.查看本地 Java 版本 2.2.验证 Java 在本地的配置情况 三.安装 ssh 服务 3.1.安装 openssh-se ...

  6. 计算机考研分析题,2020计算机考研,易错题分析与常考点总结

    2020计算机考研易错题分析与常考点总结,今天就以电子科技大学的计算机为例讲解数据结构的知识点. 1.栈和队列 以"存储位置相邻"来表示线性表中元素间的逻辑关系: 若已知表中首元素 ...

  7. 小升初数学计算机考试题,【2020年小升初数学常考题型及易错题分析】- 环球网校...

    [摘要]随着春天的到来,"小升初"这个关键词可能是广大家长朋友们最担心的一个问题,环球网校小编为广大家长朋友们整理发布了<2020年小升初数学常考题型及易错题分析>希望 ...

  8. C语言 JSON数据格式解析

    C语言 JSON数据格式解析 一.如何用c语言编写与解析json数据格式,这篇主要是使用一个第三方的json库,本人已经上传至csdn,下载链接在下方. 二.json库代码文件下载地址(json.ra ...

  9. CAIE ALevel物理(9702)易错题分析

    CAIE ALevel物理(9702)易错题分析 考点:uncertainty和percentage uncertainty uncertainty=half range percentage unc ...

  10. JSON.parse解析特殊字符报错解决方案

    2019独角兽企业重金招聘Python工程师标准>>> 具体案例: 页面点击"下一任务" 会去请求后台,这里出现的问题是有虚拟任务的时候.然后会返回一个map,也 ...

最新文章

  1. 真 · 圆桌!WAIC论坛上演自动驾驶专家激辩,直面技术路径之争
  2. C#.NET跨线程控件的相关操作
  3. 认清楚服务器的真正身份--深入ARP工作原理
  4. 【AutoML】强化学习如何用于模型蒸馏?
  5. java源代码实例倒计时_Java倒计时三种实现方式代码实例
  6. OpenGL:关于获取渲染结果的深度信息的问题(二)
  7. vue2.0和3.0区别_usb3.0和2.0有什么区别 usb3.0和2.0哪个好【详解】
  8. jQuery Mobile中图标icon样式大全ui-icon-*
  9. 《Head First设计模式》 读书笔记05 工厂模式(二)
  10. 入职体检的体检项目有哪些呢?
  11. 大众点评社区运营攻略
  12. docker内存及cpu限制
  13. python全栈开发第一天(HTML认识,HTML常用标签)
  14. Cobbler 批量安装操作系统 (基于Centos7.x )
  15. android安装到内存卡,android手机怎么把软件安装到内存卡里
  16. pt-table-checksum 使用实践
  17. ssr pac_全新回馈丨购金币三日礼,获取主线SSR羁绊
  18. 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(上)
  19. 用友OA漏洞学习——test.jsp SQL注入漏洞
  20. kafka完美解决报错:Error while executing topic command:Replication factor:3 larger than available brokers:0

热门文章

  1. C - Write the program expr which evaluates a reverse Polish expression from the command line
  2. 华为交换机、路由器流量统计
  3. [Spark调优]--TaskSetManager的有效Locality Levels
  4. Mybatis复杂查询(详细举例)
  5. python如何编写温度转换_Python温度转换实例分析
  6. Android消息机制和应用
  7. 网页加载速度优化分析
  8. 数26个大写字母里带圈的字母个数
  9. 时间管理技巧(清理一波文件 感觉这个还是有用的 )
  10. 1021.Deepest Root