我正在尝试使用jsonkit或nsjsonserialization从服务器解码json字符串,但我得到冒号:标记更改为等于=符号和逗号,更改为分号;例如 来自服务器:
"response": { "status": "OK","message": "","timestamp": "30 Mar 2013 11:33:08",
"url":"/abc/api/getconfig/dev-game?language=en" }...
但我做的回应是:
JSONDecoder *decodedData = [[JSONDecoder alloc] initWithParseOptions:JKParseOptionStrict];
NSDictionary *parsedList = [decodedData objectWithData:responseData];
或:
NSError *jsonError = nil;
NSDictionary *parsedList = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&jsonError];
给了我:
response = {
message = "";
status = OK;
timestamp = "30 Mar 2013 11:33:08";
url = "/abc/api/getconfig/dev-game?language=en";
};
result = {
meta = {
dateLastModified = "29 Mar 2013 11:59:17";
};
在尝试解析时给了我很多问题。我能做到:
NSSTring *jsonString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
或将请求网址放在浏览器或jsonlint.com中,我得到了正确的格式,但我需要在字典中,因为我需要能够解析它。除非将其置于不同的数据类型中更好,因为我将尝试查找特定的键,即如果我有column_1,则列_2获取每个“列”... 提前谢谢。
答案 0 :(得分:1)
JSONKit
和NSJSONSerialization
将为您解析JSON字符串并为您创建NSDictionary
/ NSArray
/ NSString
/ NSNumber
个对象。你不必自己解析任何东西。您正在看到等号,因为您正在打印已解析的响应对象的描述(可能使用NSLog
)。