json解析对应的value为null_JSON 学习笔记第一天——初识
1. 什么是JSON
- JSON 是 JavaScript Object Notation 简写,是一种轻量级的数据交换格式。
- JSON 是 JS 对象的字符串表示法,它使用纯文本表示一个 JS 对象的信息,本质是一个字符串。
- JSON 与 XML 文档相比较,JSON 格式的数据比 XML 更加易于读取,解析速度更快,而且JSON存储的数据比XML更小;没有XML文档复杂的标签。
- JSON 独立于编程语言和平台之外,支持各种不同的编程语言进行JSON解析。
2. JSON 的表示
JSON 数据支持两种表示,分别是对象表示、数组表示。
2.1 对象表示法
对象表示法是在大括号 { } 中进行书写,一个JSON对象可以包含多个 key/value(键/值)对,key 必须是字符串,value 可以是合法的 JSON 数据类型( 字符串, 数字, 对象, 数组, 布尔值或 null ),key 和 value 中使用冒号 (:) 分割,每个 key/value 对使用逗号 (,) 分割。
/* JSON 对象表示法 */obj = { "name":"runoob", "alexa":10000, "site":null , "address":"henan-xinyang", "Tel":12345678900}
JSON对象表示法
2.2 数组表示法
JSON 数组在中括号 [ ] 中书写,JSON 中数组值必须是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null),JavaScript 中,数组值可以是以上的 JSON 数据类型,也可以是 JavaScript 的表达式,包括函数,日期,及 undefined 。
/* 数组表示法 */arrObj = [ "HeNan", "XinYang", "MyHome" ]
json数组表示法
2.3 嵌套表示
JSON数据格式非常灵活,可以在一个对象里嵌套一个数组,也可以在数组里嵌套一个对象或另外一个数组。
/* JSON 的嵌套表示以及访问格式 *//* 1. 对象属性的值value可以是一个数组 */obj1 = { "username":"Tom", "age":20, "address":["shanghai","jiading","hongshilu"] }/* 数组大小知道前提下:访问读取 "jiading" */var x = obj1.address[1];/* 数组大小未知时:for-in 循环读取 */for (i in obj1.address) { x += obj1.address[i] + "";}/* 2. JSON 对象中数组可以包含另外一个数组,或者另外一个 JSON 对象 */ obj2= { "username":"网站", "age":3, "address": [ { "province":"shanghai", "city":[ "jiading", "hongshilu"] }, { "province":"henan", "city":[ "xinyang", "xixian"] } ] }/* for-in 遍历访问每个元素值 */for (i in obj2.address) { x += "
" + obj2.address[i].province+ "
"; for (j in obj2.address[i].city) { x += obj2.address[i].city[j] + "
"; }}/* 根据索引访问其中一个 : 如 xixian */var xx = obj2.address[1].city[1];/* 3. 对象属性值可以是一个对象 */obj3 = { "username":"马云", "salary":100, "address":{ "province":"上海", "city","嘉定红世路" } }var x1 = obj3.address.province + obj3.address["city"];
json嵌套表示
3. JSON 的转换
- JSON.parse() 将服务端返回的JSON字符串格式的数据转换成JSON对象进行访问,这个字符串必须严格是JSON格式的。
/* 服务端返回的json字符串在前端解析成JSON对象 */
var obj = JSON.parse('{ "username":"老王", "salary":10000, "city":"日本" }');
var x = obj.uesrname;
- JSON.stringify() 用于向服务端提交数据,将JavaScript对象转成符合JSON格式的字符串。
var obj = { "username":"老王", "salary":10000, "city":"日本"};
var jsonStr= JSON.stringify(obj); /* 前端可以将 jsonStr 字符串发送到服务端 */
今天就简单的讲解下JSON相关知识,熟能生巧,只有多练习,多运用,才能发现更多的问题。
更多学习可以关注我的CSDN博客 https://blog.csdn.net/qq_31414433
希望自己接下来能坚持写下去,分享更多!收获更多!
给自己打个气!!!
json解析对应的value为null_JSON 学习笔记第一天——初识相关推荐
- main 函数解析(二)—— Linux-0.11 学习笔记(六)
main函数解析(二)--Linux-0.11 学习笔记(六) 4.6 blk_dev_init函数 void blk_dev_init(void) {int i;for (i=0 ; i<NR ...
- main函数解析(一)——Linux-0.11 学习笔记(五)
main()函数解析(一)--Linux-0.11 学习笔记(五) 经过了前面的各种铺垫,终于来到了main函数.这篇博客的任务是把init/main.c讲清楚.由于牵扯到很多的函数调用,要想一次就说 ...
- 《Go语言圣经》学习笔记 第一章 Go语言入门
Go语言圣经学习笔记 第一章 Go语言入门 目录 Hello, World 命令行参数 查找重复的行 GIF动画 获取URL 并发获取多个URL Web服务 本章要点 注:学习<Go语言圣经&g ...
- extjs 提交表单给php,JavaScript_Extjs学习笔记之二 初识Extjs之Form,Extjs中的表单组件是Ext.form.Basic - phpStudy...
Extjs学习笔记之二 初识Extjs之Form Extjs中的表单组件是Ext.form.BasicForm,不过最简单最常用的是Ext.form.FormPanel控件,它继承自Panel,具有一 ...
- PhalAPI学习笔记 ——— 第一章自定义HelloWorld接口
PhalAPI学习笔记 --- 第一章自定义HelloWorld接口 前言 自定义接口 项目实例 结果 分布解析 结束语 前言 公司业务需要转学PHP,而PHP中一个功能强大且生态链完整的PHP接口框 ...
- 视觉SLAM十四讲学习笔记-第二讲-初识SLAM
专栏系列文章如下: 视觉SLAM十四讲学习笔记-第一讲_goldqiu的博客-CSDN博客 "定位"和"建图",可以看成感知的"内外之分". ...
- 编译原理(龙书)学习笔记 第一章
编译原理(龙书)学习笔记 第一章 1.1语言处理器 解释器(interpreter) : 编译器(compiler): 一个语言处理系统 练习 1.1.1:编译器和解释器之间的区别 1.1.2:相对优 ...
- 惯性导航系统学习笔记——第一讲
惯性导航系统学习笔记 第一讲 惯性导航系统概述 一.惯性导航基本概念 二.惯性导航基本原理 三.惯性导航应用与发展 四.小结 第一讲 惯性导航系统概述 本文为学习朱家海教授<惯性导航系统> ...
- Pyhton学习笔记第一天(Python基本语句)
Python学习笔记第一天 注释 行注释 块注释 输出语句 举一反三 标识符 举一反三 多行语句 结束语 注释 什么是注释,注释相当于备注的信息,也可以在调试代码的时候隐藏执行代码,但只适合新手.老手 ...
最新文章
- 差分阻抗为多少_谈谈差分信号
- ubuntu之使用sublime text3搭建Python IDE
- 额外篇 | ggplot (下)
- 代理模式在Spring 源码中的应用
- C# 使用TCP创建HTTP客户程序
- java开发用怎么软件开发_Java 9中的5个功能将改变您开发软件的方式(还有2个不会)...
- python执行一段代码_我发现了个 Python 黑魔法,执行任意代码都会自动念上一段 『平安经』...
- (七)准备在云中训练深度伪造模型
- Qualcomm Atheros ar9285 连不上 tp link无线 的 问题
- 总结一下常用web.config公共配置。
- MonthCalendar的mousedown方法选择日期
- 批量导出pdf 和导出图片
- 10年测试经验分享:新手怎么找软件测试的项目?
- 语音视频SDK的回声消除技术是如何实现的
- Android Studio : Unfortunately you can't have non-Gradle Java modules and Android-Gradle modules
- 前有天猫生鲜和易果生鲜 系出阿里“同门”的盒马鲜生要怎么走?
- 根据身份证号码生成生日和性别
- CAN采样点设置为多少合适?设置不对会咋样?
- 中文数字和阿拉伯数字之间互相转化
- Android studio 和 gradle插件版本对应关系(最新 2022年)
热门文章
- C++中重载与重写函数区别及虚函数(转载)
- c语言程序设计 黄建灯,C语言程序设计教学改革
- hashmap应用场景_Redis 5种数据结构 及使用场景分析
- Android与Js交互时,屏幕不适配问题
- java栈和队列验证回文串_栈和队列的基本操作及其应用(回文判断)
- 带圆圈大小的散点图_Python数据可视化,Matplotlib绘制“散点图”的两种方法!...
- 高速信号传输约翰逊 pdf_学习笔记之传输线基础
- python是如何实现进程池和线程池的_进程、线程、线程池和协程如何理解?
- was java sdk_关于WAS9单独安装SDK的问题?
- bigdecimal如何做除法_公务员行测朴素逻辑解题技巧—代入排除法