【发布时间】:2013-01-11 15:03:38
【问题描述】:
我正在使用 Appcelerator Titanium 构建应用程序。它具有照片上传功能,因此我构建了一个 PHP 后端(CodeIgniter + RESTful Server)来处理上传的文件。由于 Titanium 会从照片中删除 EXIF 数据,因此我使用myMedia module 来获取 EXIF 数据,因此我仍然可以将 EXIF 数据发布到 PHP 后端。
模块返回的数组如下所示:
{
exif = {
ApertureValue = "2.970853567123413";
BrightnessValue = "5.906054496765137";
ColorSpace = 1;
ComponentsConfiguration = (
0,
0,
0,
1
);
DateTimeDigitized = "2012:12:22 12:59:56";
DateTimeOriginal = "2012:12:22 12:59:56";
ExifVersion = (
2,
2,
1
);
ExposureMode = 0;
ExposureProgram = 2;
ExposureTime = "0.007936508394777775";
FNumber = "2.799999952316284";
Flash = 16;
FlashPixVersion = (
1,
0
);
FocalLenIn35mmFilm = 35;
FocalLength = "3.849999904632568";
ISOSpeedRatings = (
80
);
MeteringMode = 5;
PixelXDimension = 2592;
PixelYDimension = 1936;
SceneCaptureType = 0;
SensingMethod = 2;
ShutterSpeedValue = "6.973695755004883";
SubjectArea = (
1295,
967,
699,
696
);
WhiteBalance = 0;
};
location = {
latitude = "52.51933333333334";
longitude = "13.40083333333333";
};
path = "assets-library://asset/asset.JPG?id=E5040F0C-C86A-411B-ADA8-36C9EC91A526&ext=JPG";
}
我在互联网上进行了一些研究,以找出这是什么类型的数组,对我来说它似乎是一个 Plist (XML)。我查看了 myMedia 模块 Classes,发现它使用 NSDictionary 类返回 EXIF 数据。
我尝试了一些 PHP Plist 解析来处理这个数组,但它们都没有真正起作用。我不知道如何解析这个数组。
提前致谢!
【问题讨论】:
-
在将其发送到 PHP 之前,最好在 Objective-c 中进行转换,您可以将 NSDictonary 转换为 JSON (stackoverflow.com/questions/6368867/…),然后在您的 API 中执行
json_decode()。 -
是的,在 Objective-C 端将其转换为 JSON。除其他外,您上面的
description格式没有“定义”,可能会随Apple 的心血来潮而改变。
标签: php objective-c arrays titanium nsdictionary