系统自带的NSJSONSerialization解析json文件

 1 #import "ViewController.h"
 2 #import "Student.h"
 3 #import "GDataXMLNode.h"
 4 #import "JSONKit.h"
 5
 6 @interface ViewController () <NSXMLParserDelegate>
 7
 8 /**
 9  *  存储数据的数组
10  */
11 @property (nonatomic, strong) NSMutableArray *dataArray;
12
13 @end
14
15 @implementation ViewController
16
17 - (void)viewDidLoad {
18     [super viewDidLoad];
19     // Do any additional setup after loading the view, typically from a nib.
20 }
21
22 #pragma mark - 系统自带的json数据解析
23 - (IBAction)foundationParserActionJSONDocument:(UIButton *)sender {
24
25     // 1.获取文件路径
26     NSString *path = [[NSBundle mainBundle] pathForResource:@"StudentInfo_json.txt" ofType:nil];
27
28
29     // 2.根据路径获取NSData
30     NSData *data = [NSData dataWithContentsOfFile:path];
31
32
33     // 3.对存储数据的数组进行初始化
34     self.dataArray = [NSMutableArray array];
35
36
37     // 4.开始进行解析
38     NSArray *resultArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
39
40
41     // 5.遍历数组,使用KVC给对象赋值
42     for (NSDictionary *dict in resultArray) {
43
44         Student *stu = [[Student alloc] init];
45
46         // 将数组中的值赋给对象
47         [stu setValuesForKeysWithDictionary:dict];
48
49         // 将对象添加到数组中
50         [self.dataArray addObject:stu];
51     }
52
53
54     // 遍历检验
55     for (Student *stu in self.dataArray) {
56         NSLog(@"name = %@, gender = %@, age = %ld, hobby = %@", stu.name, stu.gender, stu.age, stu.hobby);
57     }
58
59 }
60
61 @end
时间: 2024-10-05 13:59:06

系统自带的NSJSONSerialization解析json文件的相关文章

使用rapidJson解析json文件

今天介绍如果如何使用rapidJson解析json文件~笔者之前也使用过json库,可惜搬到cocos2d-x使用过程出现问题...忘了什么问题,搞了很久解决不了,索性使用cocos2d-x自带的json解析库~ 首先引入头文件,#include "cocostudio/CocoStudio.h",因为从cocosStudio导入项目的时候会有json文件~ 接着就是解析: std::string filePath = FileUtils::getInstance()->full

python解析json文件

概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON.XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象. JSON(JavaScript Object Notation):一种轻量级数据交换格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的一个子集. Python2.6开始加入了JSON模块,无需另外下载,Python的Json模

QT开发(六十二)———QT5解析Json文件

QT开发(六十二)---QT5解析Json文件 一.QT5 Json简介 QT4中使用第三方库QJson解析JSON文件. QT5新增加了处理JSON的类,类均以QJson开头,包含在QtCore模块中.QT5新增加六个相关类: QJsonArray 封装 JSON 数组 QJsonDocument 读写 JSON 文档 QJsonObject 封装 JSON 对象 QJsonObject::iterator 用于遍历QJsonObject的STL风格的非const遍历器 QJsonParseE

Android--------使用gson解析json文件

##使用gson解析json文件 **json的格式有两种:** **1. {}类型,及数据用{}包含:** **2. []类型,即数据用[]包含:** 下面用个例子,简单的介绍gson如何解析json,仅使用~ 先发两个json 内容 1.最外层是{} {             "resp": "ok",         "result": {             "date": "2013-4-19 16:

Java性能优化:正确的解析JSON文件

数据收集服务平均1小时OOM(java.lang.OutOfMemoryError: GC overhead limit exceeded)一次,发现都是在下载处理 JSON Atom Feed时OOM.怀疑是处理feed内存峰值消耗过大导致频繁Full GC.如下图: 分析过程 服务每15分钟会从Feed Server下载36个数据文件,包括12个17M,12个18M和12个100多M的文件.数据格式为JSON.由于服务是一次性加载整个JSON文件,然后转换成java对象.这个地方内存消耗可能

Android调用系统自带的文件管理器进行文件选择

http://blog.csdn.net/zqchn/article/details/8770913的补充 FileUtils文件 public class FileUtils {     public static String getPath(Context context, Uri uri) {         if ("content".equalsIgnoreCase(uri.getScheme())) {             String[] projection =

使用google-gson类库解析json文件

使用google-gson类库解析json文件 使用JsonParser解析器来解析字符串和输入流,变成json对象 代码如下: public class Readjson { public static void main(String[] args) { try { JsonParser parser=new JsonParser(); JsonObject object=(JsonObject) parser.parse(new FileReader("test.json"));

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

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

oc解析JSON文件

1利用NSBundle 取得json文件路径 NSString *path=[[NSBundle mainBundle]pathForResource:@"help.json" ofType:nil]; 2把文件转成NSData NSData *data=[NSData dataWithContentsOfFile:path]; 3利用NSJSONSerialization把data解析成数组或字典类型 NSArray *dicArray=[NSJSONSerialization JS