Swift 与 JSON 数据

本文介绍了 JSON 数据格式,包括其对象、数组和值的形式,以及如何在 Swift 中使用 NSJSONSerialization 解析和创建 JSON 数据。示例展示了如何读取 JSON 数据、处理 JSON 读取选项,以及使用 NSJSONSerialization 构建 JSON 数据。
摘要由CSDN通过智能技术生成

我们大家平时在开发 App 的时候,相信接触最多的就是 JSON 数据了。只要你的 App 有读取网络数据的功能,你就免不了要与 JSON 打交道。比如你做一个新闻 App,你要读取和解析新闻数据,这样才能显示给用户。

那么我们今天就来了解一下 JSON 以及它在 App 中的应用吧。

在前两节我们会介绍 JSON 数据格式,如果您已经对 JSON 比较了解了,那么也可以跳过前两节,继续阅读后面的内容。

什么是 JSON

首先,JSON 的全称叫做 JavaScript Object Notation ,翻译成中文就是 JavaScript 对象表示法,是一种轻量级的数据交互格式。

JSON 数据分为三种形式,对象,数组,值。

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

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

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

下面是一个简单的例子:

{
  "firstname": "San",
  "lastname" : "Zhang",
  "age": 21,
  "friends": ["Mark","Li"]
}

上面的数据示例,表示了这样一个结构,首先我们的数据被一对大括号包围,那么我们的数据就是 对象 类型,然后它里面有四个属性,firstname,lastname,age,friends。 其中前两个属性 firstnamelastname 字符串类型,他们的值分别是 SanZhangage 属性代表年龄,所以它的值一个 Number 类型的 21

注意一下,字符串类型和数字类型的区别,字符串类型的值用一对双引号括了起来,而数值类型不需要双引号。

最后,friends 属性的值是一个数组,用一对中括号包围起来,而数组中的元素,仍然是字符串类型。

以上就是 JSON 的一个基本结构,关于 JSON 更详细的介绍,可以参看 json.org

JSON 数据实例

我们看完了 JSON 的格式之后,那么我们就接着看一下具体的 JSON 数据是怎样的格式呢?

比如这个天气数据接口: http://api.openweathermap.org/data/2.5/weather?q=China,bj&lang=zh_cn

如果我们在浏览器打开这个地址,我们就可以看到类似这样的数据:

{
  "coord": {
    "lon": 116.4,
    "lat": 39.91
  },
  "weather": [
    {
      "id": 520,
      "main": "Rain",
      "description": "阵雨",
      "icon": "09d"
    },
    {
      "id": 701,
      "main": "M
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值