【发布时间】:2013-03-30 01:11:52
【问题描述】:
我正在尝试使用来自服务器的 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];
或者将请求 url 放在浏览器或 jsonlint.com 中,我会得到正确的格式,但我需要将它放在字典中,因为我需要能够解析它。除非将其放入不同的数据类型会更好,因为我将尝试找到特定的键,即如果我有 column_1、column_2 则获取每个“列”... 提前致谢。
【问题讨论】:
-
@aăâ 至少感谢您的回复,但如果您阅读我的问题,那是我处理回复的方式之一。如果它是响应中的数组或字典,我遇到的问题与我收到编码后的编码有关。
-
"response": {} 这个结构告诉你的响应必须是字典
-
对,但是在使用 jsonkit 或 nsjsonserialization 将响应放入字典后,我的数据有分号;并在其中使用等号 = 使其成为无效的 json,就像我上面给出的示例一样
-
看我的回答。遵循 JSON 结构。
标签: ios objective-c json nsjsonserialization