zoukankan      html  css  js  c++  java
  • 浅度围观SBJson

    JSON

         JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度,

    那么,JSON到底是什么?

     JSON就是一串字符串 只不过元素会使用特定的符号标注。

    {} 双括号表示对象

    [] 中括号表示数组

    "" 双引号内是属性或值

    : 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)

        所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象

    而[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组

    当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一部,这是一个拥有一个name数组的对象

     

        ps:现在还有很多人存在一些误区,为什么{name:'json'}在检验时通过不了,

             那是因为JSON官网最新规范规定

             如果是字符串,那不管是键或值最好都用双引号引起来,所以上面的代码就是

            {"name":"json"}

             不要反驳,官网就是这么定义的。

    SBJson 

    简介

       SBJson 是 Objective-C 实现的一个 JSON 解析器和生成器

    特点 

       主要特性:
       采用 New BSD 开源许可.
       易用的 API 设计
       支持流,详情请看 API docs 中的 SBJsonStreamParser
       格式友好的 JSON 输出
       输出 JSON 的键是经过排序的
       可配置的解析和输出的最大递归深度
       纯 Objective-C.
       无需第三方包依赖。
     

    用法  

         其实说白了 JSON无非就是一种字符串的结构。。。 那么在IPHONE开发中,使用最多的JSON解析库就是 SBJson。。。

         在这里可以得到 SBJson:http://stig.github.com/json-framework/

        3.1版本及以上,它将支持ARC。下载下来后,解压缩,然后把Class目录下的所有文件导入项目中。

         在使用SBJson时候,首先:

    1 #import "SBJson.h"
    2 NSString *jsonStr = @"{"name":"jia","age":"24"}";
    3 NSString *jsonStr2 = @"["1","2"]";
    4 SBJsonParser *jsonParser = [[SBJsonParser alloc] init];
    5 NSMutableDictionary *dict = [jsonParser objectWithString:jsonStr];
    6 NSLog(@"%@",dict);
    7 NSMutableArray *arr = [jsonParser objectWithString:jsonStr2];
    8 NSLog(@"%@",arr);
    9 [jsonParser release];

        可以看到,无论是数组还是字典,都使用

    objectWithString

    来解析

    补充

        从IOS5开始,APPLE提供了对json的原生支持(NSJSONSerialization),但是为了兼容以前的ios版本,可以使用第三方库来解析Json。

    除了SBJson之外,还有TouchJson、 JSONKit 等。

     

     

  • 相关阅读:
    JavaScript的BOM编程,事件-第4章
    C#获取程序目录
    e3商城_day05
    第三届中国云计算用户大会笔记和心得
    Android应用源码 概览
    电脑用bat脚本给手机批量自动安装apk文件 autoInstall.bat
    网上的很多Android项目源码有用吗?Android开发注意的地方。
    Android 简历 怎么写? 月薪10K,20K+, 怎么拿到面试?
    android 职业 转行
    我的Python学习之路(2)
  • 原文地址:https://www.cnblogs.com/xiaochunle/p/3844448.html
Copyright © 2011-2022 走看看