在 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

时间: 2025-01-21 11:40:40

在 Swift 语言中更好的处理 JSON 数据:SwiftyJSON的相关文章

Swift语言中的泛型编程 【Generic】【Part 1】

泛型  泛型编程让你可以编写更具扩展性.易重用的功能,代码使用时的类型取决于你所定义的业务需求.你可以编写避免重复的代码,目标更加清晰明确,风格抽象. 泛型是Swift语言的一项强大的特性,基本上所有的swift标准库都建立在泛型代码上.实际上,你在这本书的时候不知不觉地接触到泛型,它贯穿始终.例如Swift的数组和字典类型都是泛型集合.你可以创建用于存放整数值的数组,也创建数组存储字符串,其他所有能在Swift中创建的类型都可以创建到数组中.类似的,你可以创建字典来存储数值或其他指定的类型,毫

Swift语言中的属性,方法,下标脚本以及继承

从这篇章节起,Swift编程语言指南大部分的重要内容在于概念,代码并不是太多.理解Swift的面向对象理念,语法以及类结构,构造析构过程对于很好的应用Swift语言将会有比较大的帮助. 属性 存储属性 存储属性通常是那些可以通过直接赋值,或者直接访问成员能够获得的属性类型. 它有些要注意的地方: 若一个结构体被声明为常量,则子属性无法被修改了.在Objective-C中,我们总是无法修改结构体的子属性,但是swift却可以,不过这种情况是个例外,当你存储型属性是个结构体并且是个常量,那你就不要再

Swift语言中的集合类——字典 使用方法

字典 字典是一种存储相同类型多重数据的存储器.每个值(value)都关联独特的键(key),键作为字典中的这个值数据的标识符.和数组中的数据项不同,字典中的数据项并没有具体顺序.我们在需要通过标识符(键)访问数据的时候使用字典,这种方法很大程度上和我们在现实世界中使用字典查字义的方法一样. Swift 的字典使用时需要具体规定可以存储键和值类型.不同于 Objective-C 的NSDictionary和NSMutableDictionary 类可以使用任何类型的对象来作键和值并且不提供任何关于

Swift语言中如何使用JSON数据教程

原文:Swift语言中如何使用JSON数据教程 这是一篇翻译文章,原文出处:http://www.raywenderlich.com/82706/working-with-json-in-swift-tutorial JSON(全称:JavaScript Object Notation),是网络服务中传输数据的常用方法,JSON因为容易使用,且可读性强, 所以非常受到欢迎. 下面是个JSON的一个片段: [ {"person": {"name":"Dani

?Swift语言中为外部参数设置默认值,可变参数,常量参数,变量参数,输入输出参数

引用自这里:Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 目录[-] 7.4.4  为外部参数设置默认值 7.4.5  可变参数 7.4.6  常量参数和变量参数 7.4.7  输入-输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1.2语言快速入门v2.0. [示例7-11]以下的代码就为外部参数toString.withJoiner设置了默认的参数"Swift"和&qu

?Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift1.2语言快速入门v2.0. [示例7-11]以下的代码就为外部参数toString.withJoiner设置了默认的参数"Swift"和"---".代码如下: import Foundation func join(string s1: String, toString

asp.net中webservice与android的json数据交互方式设置

一 .服务器端设置 1.修改web.config 在web.config里面的的system.Web节点添加 <webServices> <protocols> <add name= "HttpPost"/> <add name= "HttpGet"/> </protocols> </webServices> 2.修改XX.asmx.cs [WebService(Namespace = &quo

在java中像js那样处理json数据

工作中经常需要通过ajax向前台返回json数据,都是通过拼字符串拼出来的,很发麻烦不说,还容易出错. 于是想,能不能像js那样操作json呢?或者说更方便的操作呢? Google的gson就是这样的一种库. 项目地址:https://code.google.com/p/google-gson/ Demo 1: 1 public static void test01(){ 2 JsonObject json=new JsonObject(); 3 json.addProperty("name&q

Google中Gson的使用解析json数据-------学习篇

之前写过一篇Gson解析json数据的基本应用,这里不多说,直接上例子. 有兴趣的可以先阅读下之前那篇,这里附上链接: http://www.cnblogs.com/Ant-soldier/p/6322456.html // json跟set集合之间的转换        String str = "[{'name':'zhangsan','age':20},{'name':'lisi','age':33}]";        Gson gson = new Gson();