我正在用Appcelerator Titanium构建一个应用程序。它有一个照片上传功能,所以我构建了一个PHP后端(CodeIgniter + RESTful Server)来处理上传的文件。由于Titanium会从照片中删除EXIF数据,因此我使用myMedia module来获取EXIF数据,因此我仍然可以将EXIF数据发布到PHP后端。如何用PHP解析NSDictionary数组
该模块返回看起来像这样的数组:
{
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模块类,并且发现它使用NSDictionary类来返回EXIF数据。
我已经尝试了一些PHP Plist解析来处理这个数组,但是他们都没有工作。我不知道如何解析这个数组。
在此先感谢!
它可能最好将其发送到PHP之前将其转换在Objective-C,你可以NSDictonary转换成JSON(http://stackoverflow.com/questions/6368867/generate-json-string-from-nsdictionary),然后在你的API中做一个'json_decode()'。 – Prisoner
是的,将其转换为Objective-C端的JSON。除此之外,上面描述的'description'格式不是“定义”的,并且可能会随着Apple的意外而改变。 –