zoukankan      html  css  js  c++  java
  • OC-Json文件解析-Json网址学习

     在iOS开发不免会有解析Json文件的。

    在Json文件解析,使用的是NSJSONSerialization这个类中的类方法JSONObjectWithData:  options:  error:,第一个参数是json文件读取为NSData的对象,第二个参数:NSJSONReadingMutableContainers(表示读取为字典对象)  error:错误对象

     1 //json
     2 //javascript 语法的子集
     3 //key : value 类似于dictionary对象
     4 //json是由数组和对象构成的
     5 
     6 //1.json文件的最外层结构为字典或是数组,大多数是字典
     7 //2.json数据可以是基本数据类型,字符串对象,数组对象([]包含),字典对象,逻辑对象({}包含),null,
     8 
     9 int main(int argc, const char * argv[]) {
    10     @autoreleasepool {
    11 
    12 #if 0
    13         //1.先将json文件读取位NSData类型的数据
    14         //NSData *data = [NSData dataWithContentsOfFile:@""];
    15         NSString *dataString = [NSString stringWithContentsOfFile:@"/Users/qianfeng/Desktop/day21-OC11_时间类/day21_OC11_json文件解析/网络JSON解析.txt" encoding:NSUTF8StringEncoding error:nil];
    16         NSData *data = [dataString dataUsingEncoding:NSUTF8StringEncoding];
    17         
    18         //2.解析json数据
    19         NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
    20         
    21         NSLog(@"%@",dict);
    22 #endif
    23     }
    24     
    25     @autoreleasepool {
    26         //解析json网址
    27         //将字符串对象转换为网址
    28         NSString *aUrl = @"http://baike.baidu.com/api/openapi/BaikeLemmaCardApi?scope=103&format=json&appid=379020&bk_key=%E9%93%B6%E9%AD%82&bk_length=600";
    29         NSURL *url = [[NSURL alloc] initWithString:aUrl];
    30         NSString *urlString = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
    31         
    32         NSData *data = [urlString dataUsingEncoding:NSUTF8StringEncoding];
    33         NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
    34         
    35         NSLog(@"%@",dict);
    36     }
    37     return 0;
    38 }
  • 相关阅读:
    应用程序域的用法
    WCF 暴露元数据的配置
    无svc文件发布WCF服务到IIS上
    C#输出毫秒
    [一点一滴学英语]20051017
    从其他平台转向Windows,MS提供了很多便利;那反过来呢?
    Ward Cunningham加入Eclipse?
    [导入][链接]Linux常用命令/快捷键
    [导入][号外]Oracle to buy JBoss, Zend and Sleepycat?
    [导入][链接]Google开始向Linux移植其Windows应用程序?
  • 原文地址:https://www.cnblogs.com/BeyondAverage0908/p/4596809.html
Copyright © 2011-2022 走看看