好的,我需要在我的 iOS 应用程序上使用 json 来向/从我的服务器发送/接收数据。问题是我对 json 文件的外观有点困惑。我需要发送到服务器的 json 文件看起来像这样:
NSString *jsonString = @"{\"eventData\":{\"eventDate\":\"Jun 13, 2012 12:00:00 AM\",\"eventLocation\":{\"latitude\":43.93838383,\"longitude\":-3.46},\"text\":\"lalalala\",\"imageData\":\"raw data\",\"imageFormat\":\"JPEG\",\"expirationTime\":1339538400000},\"type\":\"ELDIARIOMONTANES\",\"title\":\"accIDENTE\"}";
当我尝试在控制台中打印它时,我得到:
jsonString: {"eventData":{"eventDate":"Jun 13, 2012 12:00:00 AM","eventLocation":{"latitude":43.93838383,"longitude":-3.46},"text":"lalalala","imageData":"raw data","imageFormat":"JPEG","expirationTime":1339538400000},"type":"ELDIARIOMONTANES","title":"accIDENTE"}
根据在线 json 验证器,这似乎是一种有效的 json 格式。
但是,在搜索了网络之后,当然还有 stackoverflow,并且在询问了另一个问题之后,我发现我应该将上面的 NSString 转换为这样的 json 文件:
NSString *jsonString = @"{\"eventData\":{\"eventDate\":\"Jun 13, 2012 12:00:00 AM\",\"eventLocation\":{\"latitude\":43.93838383,\"longitude\":-3.46},\"text\":\"lalalala\",\"imageData\":\"raw data\",\"imageFormat\":\"JPEG\",\"expirationTime\":1339538400000},\"type\":\"ELDIARIOMONTANES\",\"title\":\"accIDENTE\"}";
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *e;
NSMutableArray *jsonList = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&e];
但是,如果我尝试打印 jsonList 变量,我认为这将是 json 格式/文件,我会得到:
jsonList: {
eventData = {
eventDate = "Jun 13, 2012 12:00:00 AM";
eventLocation = {
latitude = "43.93838383";
longitude = "-3.46";
};
expirationTime = 1339538400000;
imageData = "raw data";
imageFormat = JPEG;
text = lalalala;
};
title = accIDENTE;
type = ELDIARIOMONTANES;
}
这不是一个有效的 json 文件!!!!所以我的问题是,如果我从一开始就有正确的格式到我的 json 文件,为什么所有这些额外的代码都将它“转换”为 json?我想,我一定是在这里遗漏了一些东西或误解了代码的功能。非常感谢您阅读我的帖子 :)