zoukankan      html  css  js  c++  java
  • 在 Swift 语言中更好的处理 JSON 数据:SwiftyJSON

    SwiftyJSON能够让在Swift语言中更加简便处理JSON数据。

    With SwiftyJSON all you have to do is:

    1
    2
    3
    4
    let json = JSONValue(dataFromNetworking)
    if let userName = json[0]["user"]["name"].string{
      //Now you got your value
    }

    And don't worry about the Optional Wrapping thing, it's done for you automatically

    1
    2
    3
    4
    let json = JSONValue(dataFromNetworking)
    if let userName = json[999999]["wrong_key"]["wrong_name"].string{
      //Calm down, take it easy, the ".string" property still produces the correct Optional String type with safety
    }
    1
    2
    3
    4
    5
    6
    7
    8
    let json = JSONValue(jsonObject)
    switch json["user_id"]{
    case .JString(let stringValue):
        let id = stringValue.toInt()
    case .JNumber(let numberValue):
        let id = numberValue.integerValue
    default:
        println("ooops!!! JSON Data is Unexpected or Broken")

    Error Handling

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    let json = JSONValue(dataFromNetworking)["some_key"]["some_wrong_key"]["wrong_name"]
    if json{
      //JSONValue it self confirm to Protocol "LogicValue", with JSONValue.JInvalid produce false and others produce true
    }else{
      println(json)
      //> JSON Keypath Error: Incorrect Keypath "some_wrong_key/wrong_name"
      //It always tells you where your key starts went wrong
      switch json{
      case .JInvalid(let error):
        //An NSError containing detailed error information
      }
    }

    项目主页:http://www.open-open.com/lib/view/home/1404443275374

  • 相关阅读:
    辅助随笔:因知识点不足暂时错过的题目
    NOIP2019翻车前写(and 抄)过的代码
    NOIP2019翻车前计划以及日记
    Luogu P3706 [SDOI2017]硬币游戏
    Luogu P5296 [北京省选集训2019]生成树计数
    Luogu P3307 [SDOI2013]项链
    Gaussian整数
    Problem. S
    LOJ6696 复读机 加强版
    数据库约束
  • 原文地址:https://www.cnblogs.com/simadi/p/4392446.html
Copyright © 2011-2022 走看看