JSON格式讲解,JSON获取对象,JSONObject和JSONArray的操作

JSON 2016-08-22 18:41:03 44519

这里就不说JSON是什么了。如果还不知道JSON是什么,先看下面几篇文章。

10分钟掌握JSON、XML、JSON解析

JSON是什么?它能带来什么?它和XML比较?

JSON  非常易学易用。所以,在短短几年中,它就取代 XML  ,成为了互联网上最受欢迎的数据交换格式。

1.为什么有JSON的出现。

JSON  作为一种简易的传输数据格式,当然也可以用 JSON  来表示一些事务。

我们在日常的编程中应该能感觉到,有Object(对象) Array(数组) 数据格式,就完全够了,就能存储和传输任意需求。然而我们的 JSON  就包含了这基本的Object Array

2.JSON格式

{
    "name": "SOJSON",
    "age": "27",
    "sex": "男",
    "skill": [
        "Java",
        "IOS",
        "Android"
    ]
}

上面运用了Object 和 Array。

{
    "skill": [ "Java", "IOS", "Android"         ]
}

可以看作是序列(sequence),就是连续的表达方式。

{
    "name": "SOJSON"
}

可以看作是映射(mapping),以键值对的方式表达方式。

3.JSON的取值

键值对Demo,如:var data = {"name": "SOJSON"};

取到name的值。那么就是 data.name  即可,或者 data["name"]

可能大多数人知道data.name 的方式取值,但是 data["name"] 的方式知道的稍微少一点,以至于如果这个JSON是这样 {"1":"2"} 怎么取值呢?

可能有人说 data.1 ?

我告诉你绝对报错,所以有的人为了逃避这个问题,会采用这种命名方式, {"id1":"2"},也就是取值的时候,在前面加上一个字符串,也就可以 data.id1 取值了,这是正确的,其实没必要。 data["1"] 如果你知道这样可以,你还那样去存储吗?

数组Demo,如 var data = {"skill": [ "Java", "IOS", "Android" ]};

首先它外面是一个键值对,只不过Value值是一个数组,那么我们要取到Java怎么取呢?

这样:data.skill[1] ;

是不是so easy ? ?

ps:总结起来就是那么简单,遇到 “{” 就 “.” ,你看data.name、data.skill 。是不是,只不过数值类你得注意点,然后遇到“[” 你就当数组处理,下标去取,或者循环,去取,data.skill[1] 。

版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/19.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
JSON格式讲解JSON获取对象JSONObjectJSONArray操作
json 解析与生成工具类 ,JSON操作讲解(附件)
天气API,全国天气 JSON API接口,可以获取十五天的天气预报
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报
免费天气API,天气JSON API,不限次数获取十五天的天气预报
JSON数据格式JSON格式化介绍,JSON格式介绍。
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ...
Java 获取图片属性、获取图片EXIF属性操作方法[metadata-extractor]
谈谈这次对 SOJSON 的改版
JQuery Ajax四种写法,Ajax请求返回JSON 操作Demo
最新文章
Flink 在又拍云日志批处理中的实践 8446
个推异常值检测和实战应用-又拍云 1665
TCP 和 UDP协议详细讲解,优缺点分析讲解 8010
URL中乱七八糟的字符讲解,来源以及如何解决 5166
HTTP/3 来了,您真的了解它么? 6188
技术选型:为什么批处理我们却选择了Flink 2346
这些表情包你有吗?一起来 Battle 啊 3460
当我谈 HTTP 时,我谈些什么? 11774
新浪短链(t.cn)最新申请官方API的方法讲解。 72697
QUIC / HTTP3 协议详细分析讲解 10530
最热文章
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 653128
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 602732
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 495911
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 492017
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 491705
Elasticsearch教程(四) elasticsearch head 插件安装和使用 450938
免费天气API,天气JSON API,不限次数获取十五天的天气预报 258469
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 229210
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 203268
Elasticsearch教程(一),全程直播(小白级别) 192505
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...