JSON和API接口初识

首先认识一下JSON

JSON官网:http://www.json.org/json-zh.html

JSON是一种数据格式,是一种在互联网传输中运用最多的数据交换语言,由于它轻便、灵巧,且能从各种语言中完全独立出来,所以成为目前最理想的数据交换语言。

例如我们完成了一个项目,该项目部署在web端和Android端,由于我们要使两者数据互通,这时我们就可以采用json传输数据,例如我们在Android端添加数据,同时我们想使web同步,利用JSON可以直接将数据提交给web,然后使用后端语言进行处理即可。

JSON语言采用key/value型数据格式

key:value相信大家都不陌生,JSON亦是如此。JSON所有的内容都由key/value实现

key是一个字符串关键字,用来唯一标识一个属性,例如"name","address","time"等等。

value是关键字的值,它可以由以下几种数据构成

  1. String:字符串
  2. number:数字
  3. object:对象(key:value)
  4. array:数组
  5. true:√
  6. false:×
  7. null:空

结构之间可以相互嵌套,比如:

{
    "data": [{
            "name": "qs395517243"
        },
        {
            "age": 20
        },
        {
            "hobby": [{
                "first": "study"
            }, {
                "second": "play"
            }, {
                "third": "sport"
            }]
        },
        {
            "language": ["C", "java", "Python"]
        },
        "just a test"
    ]
}

整体是一个object——key为"data",value为数组array(length==5)

  • 最外层数组的第1块内容为object,key为"name",value为字符串String:"qs395517243"
  • 最外层数组的第2块内容为object,key为"age",value为数值number:20
  • 最外层数组的第3块内容为object,key为"hobby",value为数组array(length==3)
    • hobby层数组的第1块内容为object,key为"first",值为字符串String:"study"
    • hobby层数组的第2块内容为object,key为"second",值为字符串String:"play"
    • hobby层数组的第3块内容为object,key为"third",值为字符串String:"sport"
  • 最外层数组的第4块内容为object,key为"language",value为数组array(length==3)
    • language层数组的第1块内容为字符串String:"C"
    • language层数组的第2块内容为字符串String:"java"
    • language层数组的第3块内容为字符串String:"Python"
  • 最外层数组的第5块内容为字符串String:"just a test"

可以看到嵌套的效果

什么是API

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用开发与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

————来自百度百科

       简而言之,就是各大厂商或个人将其封装好的函数/功能的接口提供给我们,我们通过直接调用其接口就可以完成相应的功能,而不用了解其中的内部逻辑。那么API接口和JSON又有什么关系呢。我们举个栗子:

这是某一个API获取到的JSON数据,也就是说,我们通过API获取到的仅仅是一个JSON数据对象,我们需要进行解析才可以拿出我们需要的信息,比如上面这张图片,我们模拟输入的数据是"nba"(rw=nba)得到了上面的JSON数据,其中的内容我们可以根据英文明白相应的内容,而我们抓取其中的信息之后,通过后端处理和前端展示,得到了下面这样一个大致效果:

左边是imageUrls中的(第一张)图片,右边从上到下从左到右分别是title,posterScreenName,publishDateStr,我们通过相关方法获取到JSON中的相关数据并且把它们展示出来。

至于相关的实现代码和抓取JSON的代码,我们下次再详细剖析。

API大全:

分享:百度分享、JiaThis

评论:畅言、友言

支付:JiaSale、蚂蚁金服、微信支付、银联、第四方支付

地图:高德开发平台、百度地图开发平台

第三方登录:QQ登陆、微信登陆、微博登陆、淘宝

识别技术:百度AI、科大讯飞

娱乐:网易云音乐api

快递:快递100

短信:阿里大鱼

天气:2345天气预报、聚合数据

新闻:聚合数据

短视频:七牛云

翻译:有道智云

广告:阿里妈妈、百度网盟、京东联盟、广告联盟

统计:百度统计、CNZZ(友盟)、51啦

在线客服:53kf、51客服、百度商桥

综合API平台:聚合数据、APIStore、iDataAPI

数据采集:火车头采集器

快速开发APP:应用公园、叮当APP、APICloud、起步软件

社交平台搭建:轻媒

猜你喜欢

转载自blog.csdn.net/qs395517243/article/details/81113127
今日推荐