ios如何解析json

1,JSON是什么

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。

JSON建构于两种结构:

“名称/值”对的集合(A collection of name/value pairs)。

不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在同样基于这些结构的编程语言之间交换成为可能。

JSON具有以下这些形式:


{

  "firstName": "John",

  "lastName": "Smith",

  "isAlive": true,

  "age": 27,

  "address": {

    "streetAddress": "21 2nd Street",

    "city": "New York",

    "state": "NY",

    "postalCode": "10021-3100"

  },

  "phoneNumbers": [

    {

      "type": "home",

      "number": "212 555-1234"

    },

    {

      "type": "office",

      "number": "646 555-4567"

    },

    {

      "type": "mobile",

      "number": "123 456-7890"

    }

  ],

  "children": [],

  "spouse": null

}

总之,json广泛应用于多种语言之间的交互,如今所有语言都支持json格式,广泛用于通过Internet发送数据。JSON格式包括字典和数组。

ios如何读json

1

打开Xcode并创建一个新的Single View应用程序。


2

IOSJSONTutorial,然后使用您的常规值填写组织名称和组织标识符。输入Swift作为语言,然后选择Next。

3

转到  故事板。将4个标签添加到故事板。根据以下屏幕截图定位和命名标签。

4

打开Assistant Editor并确保ViewController.swift文件可见。按住Ctrl键并从右侧日期标签拖动到ViewController类并创建以下Outlet。

 5

按Ctrl +从右侧时间标签拖动到ViewController类并创建以下Outlet。

JSONTest.com是一个利用JavaScript Object Notation(JSON)的服务测试平台。在这种情况下,我们使用日期服务。这将返回当前日期和时间。



1,首先你需要创建一个结构,该结构将保存从JSON对象中检索的日期和时间值。


struct JSONTest: Codable {

    let date: String

    let time: String

}


2,修改viewDidLoad方法

override func viewDidLoad() {

    super.viewDidLoad()

    // 1 url解析地址

    let urlString = "http://date.jsontest.com"

    guard let url = URL(string: urlString) else { return }


    // 2 该dataTask(配:completionHandler :)方法创建在URL中检索内容的任务

    URLSession.shared.dataTask(with: url) { (data, response, error) in

        if error != nil {

            print(error!.localizedDescription)

        }

        guard let data = data else { return }

        do {

            // 3

            //对JSON对象的解码

            let JSONData = try JSONDecoder().decode(JSONTest.self, from: data)

            // 4

            //JSON对象的日期和时间值将分配给标签

            DispatchQueue.main.async {

                self.dateLabel.text = JSONData.date

                self.timeLabel.text = JSONData.time

            }

        } catch let jsonError {

            print(jsonError)

        }

        // 5 恢复方法开始web请求。

        }.resume()

}


结果如下:

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

  • 概述 摘要:用JSON和工具栏做一个分析白宫请愿书的app 概念:JSON,NSData,UITabBarCont...
    lbhw阅读 387评论 0 1
  • 虽然我现在不知道你是谁 是干什么的 是什么性格什么长相的人 但是我依然写给你 那个在不久将来给我幸福的人 我或许不...
    為靑䦮阅读 461评论 0 1
  • 爱是饶恕; 爱是祝福; 爱是包容; 爱是谦卑; 爱是担当; 爱是舍己; 爱是诚实; 爱是忍耐; 爱是扶持; 爱是感...
    paulxqf阅读 286评论 0 0
  • 正当华东、华南的台风“温比亚”来势汹汹,暴雨强劲的时候,西南大后方贵州却沉侵在一片祥和之中,爽爽的贵阳天朗气...
    千小浔阅读 119评论 0 0
  • 本文作者平着丰富的想象力和独特的创造力,根据四季的特点为一年四季画出了四个不同颜色的太阳,给世界万物带来各种美好,...
    轩小豆阅读 111评论 0 0