嗯,我决定是时候学习一项新技能,编程目标-c。我的编程知识非常少,它由PHP,一点点HTML和一点点MySQL组成。我想要做的是采用一些用PHP制作的JSON并填充iOS表格视图。
这是我的json.php:
<?php
$array = array(1,2,3,4,5,6,7,8,9,10);
$json = json_encode($array);
echo $json;
?>
我唯一的问题是,我不知道从哪里开始如何使用JSONKit框架。 https://github.com/johnezang/JSONKit/我更倾向于使用JSONKit而不是其他替代方案,因为它似乎有更多的支持。
NSString *strURL = [NSString stringWithFormat:@"http://api.tekop.net/json.php"];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
NSLog(@"%@", strResult);
我能够在调试控制台中打印JSON页面的结果。现在我唯一的问题是下一步是什么?我试图在网上寻找一些教程,但我能找到的是更先进的Jason phraser。为了我的基本需求而提升。我知道我的问题很模糊,并且对很多不同的答案持开放态度,但我认为这是提出这些类型问题的地方。
答案 0 :(得分:1)
iOS有自己的JSON解析,现在称为NSJSONSerialization。
你可以看看。我总是像这样使用它。
[NSJSONSerialization JSONObjectWithData:tmpData
options:NSJSONReadingMutableContainers|NSJSONReadingAllowFragments
error:nil]
通过修改代码示例:
NSString *strURL = [NSString stringWithFormat:@"http://api.tekop.net/json.php"];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSArray *arrayResult = [NSJSONSerialization JSONObjectWithData:dataURL
options:NSJSONReadingMutableContainers|NSJSONReadingAllowFragments
error:nil];
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
需要注意的是,如果您的json是基于数组的,请使用NSArray存储结果。如果您的json是基于哈希的,请使用NSDictionary。 (希望我说清楚,我不知道要描述的相关术语)
答案 1 :(得分:0)
你有什么尝试?
NSArray *array = [dataURL objectFromJSONData];
NSAssert([array isKindOfClass:[NSArray class]], @"This should be an array.");
for (NSNumber *value in array) {
NSAssert([value isKindOfClass:[NSNumber class]], @"This should be a number.");
NSLog(@"%@", value);
}