• iOS边练边学--iOS中的json数据解析


    JSON数据(NSData) -> OC对照表

    • {} -> NSDictionary @{}
    • [] -> NSArray @[]
    • "jack" -> NSString @"jack"
    • 10 -> NSNumber @10
    • 10.5 -> NSNumber @10.5
    • true -> NSNumber @1
    • false -> NSNumber @0
    • null -> NSNull

    JSON数据(NSData) -> OC对象(Foundation Object)

    // 利用NSJSONSerialization类
    + (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error;
    
    • NSJSONReadingOptions(没有什么特殊情况自己一般选择kNilOptions
      • NSJSONReadingMutableContainers = (1UL << 0)
        • 创建出来的数组和字典就是可变
      • NSJSONReadingMutableLeaves = (1UL << 1)
        • 数组或者字典里面的字符串是可变的
      • NSJSONReadingAllowFragments
        • 允许解析出来的对象不是字典或者数组,比如直接是字符串或者NSNumber

    OC对象(Foundation Object)-> JSON数据(NSData)

    // 利用NSJSONSerialization类
    + (NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error;
    

    格式化服务器返回的JSON数据

    • 在线格式化:http://tool.oschina.net/codeformat/json
    • 将服务器返回的字典或者数组写成plist文件
  • 相关阅读:
    配置gem5-gpu模拟环境
    如何避免并发情况下的重复提交
    避免重复执行
    java线程池
    java动态代理
    Java 静态代理
    Java 静态代理和动态代理
    Spring的事务传播性
    mybatis配置(Configuration.xml)详解
    mybati之parameterType传递多个参数
  • 原文地址:https://www.cnblogs.com/gchlcc/p/5438595.html
Copyright © 2020-2023  润新知