Json文件/网址解析

//
//  main.m
//  OC8-Json文件解析
//
//  Created by qianfeng on 15/6/23.
//  Copyright (c) 2015年 qianfeng. All rights reserved.
//

#import <Foundation/Foundation.h>
//Json
//Javascript 语法的子集
//key : value 类似OC中的键值对
//1.json文件 的最外层结构通常为字典或者数组,以字典居多.
//2.json数据可以为 基本类型数据,字符串对象,数组对象([]包含),字典对象({}包含),null类型,bool类型
int main(int argc, const char * argv[]) {
    @autoreleasepool {

#if 0
        //1.先把文件的数据读成NSdata对象.
        // NSData *data =[NSData dataWithContentsOfFile:<#(NSString *)#>];
        NSString *fileString =[NSString stringWithContentsOfFile:@"/Users/qianfeng/Downloads/jsonUserList.txt" encoding:NSUTF8StringEncoding error:nil];
        NSData *data =[fileString dataUsingEncoding:NSUTF8StringEncoding];
        //2.解析json数据,解析成字典对象还是数组对象,看文件结构
        NSDictionary *ditc =[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

        NSLog(@" %@",ditc);

        NSArray *users =[ditc objectForKey:@"users"];
        for (NSDictionary *dict in users) {
            NSLog(@"name= %@",[dict objectForKey:@"username"]);
        }

#endif

        //Json 网址解析

        NSURL *url =[NSURL URLWithString:@"http://www.oschina.net/code/snippet_160697_34201"];
        NSString *urlString =[NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
         //NSLog(@"%@",urlString);
        NSData *data =[urlString dataUsingEncoding:NSUTF8StringEncoding];
        NSDictionary *weatherInfo =[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
         NSLog(@" %@",weatherInfo);

    }
    return 0;
}
时间: 2024-08-28 17:23:30

Json文件/网址解析的相关文章

IOS开发网络篇-JSON文件的解析

一.什么是JSON数据 1.JSON的简单介绍 JSON:是一种轻量级的传输数据的格式,用于数据的交互 JSON是javascript语言的一个子集.javascript是个脚本语言(不需要编译),用来给HTML增加动态功能. javascript和java没有半毛钱的关系! 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外). 2.JSON的语法规则 <1> 数据以键值的方式保存; 键(key)必须用双引号("key"),与键值之间以':'分隔;

JsonCpp——json文件的解析

定义: 官网: http://json.org/ 在线解析器:http://json.cn/ http://www.bejson.com/ JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.它是基于 JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集. JSON 采用完

cocos2dx 2.2.2 cocostudio 数据编辑器导出的.json文件读取 解析

首先,创建 然后 再导出数据: 再然后,能够看到数据的格式是: 再然后,就是 数据解析代码: [cpp] view plaincopy ////////////////// rapidjson::Document _doc; bool bRet = false; unsigned long size = 0; unsigned char *pBytes = NULL; do { pBytes = cocos2d::CCFileUtils::sharedFileUtils()->getFileDa

Libgdx 之JSON文件解析

上一节我们学习了XML文件的解析,接下来我们再了解JSON文件的解析.在Libgdx中也提供了Json类来帮助我们解析文件,最常用的方法是fromJson(java.lang.Class type, FileHandle file) 通过此方法我们必须先定义一个内部类来抽象的表示Json文件. { "name": "David", "experience": 2534, "strength": 6, "dexteri

一行代码解析复杂JSON文件:利用Android自带的包解析JSON

上周写了一篇关于Android自带的org.JSON与JSONLIB相冲突的文章,今天我想写一下我对org.json使用的小心得 由于学校项目要求解析一个复杂JSON,所以就上网搜了一下,不过Google一搜JSON数据解析,会出现五花八门的结果,JSONLIB, GSON, FASTJSON等等,唯独没有对org.json的使用,其实Android自带的JSON解析包相当好用,其用法与JSONLIB类似,我是先用的JSONLIB,在JRE环境下用得好好的,到了Android下怎么都跑不通(原来

iOS 如何用JSONKit读写JSON文件

如何用JSONKit读写JSON文件 分类: ios2013-04-20 12:46 510人阅读 评论(0) 收藏 举报 JSON文件格式简单,使用方便,值得一用. 目前已经有多个库支持Json文件的解析,在这之中,JSONkit用起来方便,而且效率比较高,本文介绍的就是JSONKit的使用方法. 1.准备工作 下载JSONKit包:http://download.csdn.net/detail/enuola/4523160 2.写json文件 创建文件 //创建文件目录以及文件,需要用到fi

java实现服务端守护进程来监听客户端通过上传json文件写数据到hbase中

1.项目介绍: 由于大数据部门涉及到其他部门将数据传到数据中心,大部分公司采用的方式是用json文件的方式传输,因此就需要编写服务端和客户端的小程序了.而我主要实现服务端的代码,也有相应的客户端的测试代码.这里须有一个需要提到的是,我在实现接收json文件的同时,而且还需将数据写到hbase中.写入到hbase当中采用的是批量插入的方式,即一次插入多条记录. 好了,有了前面的说明,下面来简单的说一下我实现的服务端的小程序把. 2.为了实现服务端能够监听客户端的行为,因此我在服务端采用多线程的技术

Twaver的mono-desiner导出的json文件解析

以画的交换机为例,其他大概都差不多. 利用Twaver做出交换机模型如图1所示,其中,每一个端口都是一个单独的对象.具体Twaver操作流程参见网址:http://twaver.servasoft.com/doc 中的操作指南. 将做好的模型导出为json格式的文件.下面将以图一所示的交换机为例对json文件进行简单解析.如图二所示为图一交换机的所导出的json文件的简单结构. 首先,所导出的json文件为一个json对象,里面包含有两个数组为primitives(原始)和assembles(装

C# 解析复杂的Json文件

我们都是世上多余的人,但至少我们对于彼此都是世界最重要的人. Json 百度百科上这样说: JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式. 它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据. 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率. 照我看来,它有两种形式, 一 :  它是一