【发布时间】:2011-09-02 16:05:42
【问题描述】:
我正在尝试解析从 ColdFusion 服务器生成的 SerializeJSON 格式的 JSON 文件。是否有任何特定的方法来解析 serializeJSON 文件。它不同于普通的 Twitter Feed JSON 文件。如何解析这种格式的 JSON 文件?我正在使用 SBJSON 文件来解析它。
{
"ROWCOUNT": 2,
"COLUMNS": [
"ID",
"TITLE",
"CLASS_START",
"CLASS_END",
],
"DATA": {
"KEY_ID": [
"a11c1a361a38",
"6be127103538"
],
"TITLE": [
"Test ",
"Test2 "
],
"CLASS_START": [
"October, 25 2011 00:00:00",
"October, 26 2011 14:47:00"
],
"CLASS_END": [
"October, 25 2011 00:00:00",
"October, 27 2011 14:47:00"
]
}
}
要解析的代码:
NSString *jsonString = [self jsonFromURLString:urlString];
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF32BigEndianStringEncoding];
NSLog(@"dATA : %@", jsonData);
// Parse JSON results with TouchJSON. It converts it into a dictionary.
CJSONDeserializer *jsonDeserializer = [CJSONDeserializer deserializer];
NSError *error = nil;
NSDictionary *resultsDictionary = [jsonDeserializer deserializeAsDictionary:jsonData error:&error];
[self handleError:error];
NSDictionary *dict = [resultsDictionary objectForKey:@"DATA"];
NSLog(@"dict : %@", dict);
for (NSArray *data in dict) {
NSDictionary *title = [data objectAtIndex:0]; /**** Errors here saying [NSCFString objectforkey] not recognised was getting the same error before too****/
NSLog(@"Title : %@", title);
}
我的字典的输出:
dict : {
"CLASS_END" = (
"October, 25 2011 00:00:00",
"October, 27 2011 14:47:00"
);
"CLASS_START" = (
"October, 25 2011 00:00:00",
"October, 26 2011 14:47:00"
);
"KEY_ID" = (
"a11c1a361a38",
"6be127103538"
);
TITLE = (
"Test",
"Test2"
)
}
【问题讨论】:
-
请注意,您的 JSON 无效。 “CLASS_END”后面不能有逗号。
-
抱歉错误。但是我的 JSON 是有效的并且工作正常!!
-
发布
NSLog(@"%@", [resultsDictionary description]);的结果 -
所以你没有向我们展示真正的 JSON 数据?
-
啊,你用最新的编辑消除了“数组”。您是在编辑代码,还是只是不向我们展示您正在使用的代码?
标签: iphone objective-c json sbjson