26

我正在考虑使用 YAML 作为我下一个 iPhone 应用程序的一部分,但我一直无法找到要使用的 Objective-C 库。

YAML 的 Wikipedia 页面提到了一个,但链接已失效。

是否有可以将 YAML 解析为本机集合对象(NSArray、NSDictionary 等)的 Objective-C 库?

4

7 回答 7

6

Syck 的 Cocoa 扩展可能就是您正在寻找的东西——这就是 Shaggy Frog 提到的库最近似乎存在的地方。

于 2009-12-28T08:09:10.307 回答
6

您可以尝试基于LibYAML的 YAML.framework,它快速且易于使用。遵循与标准 NSPropertyListSerialization 相同的模式。

您可以将其用于 iOS (iPhone/iPad) 开发。

于 2010-09-26T12:55:54.497 回答
5

YAMLKit框架是 LibYAML 的一个瘦包装器。它完全符合您的要求。例如:

[[YKParser alloc] init];
[p readString:@"- foo\n- bar\n- baz"];
id result = [p parse];
/* result is now an NSArray containing an NSArray with elements:
   @"foo", @"bar", @"baz" */
[p release];
于 2010-07-12T09:42:01.470 回答
3

我最近编写了基于标准 NSCoder/NSKeyedArchiver 接口的现代 ObjC-YAML 绑定:http: //github.com/th-in-gs/YACYAML。我在我自己的项目中使用它们,并打算至少在我继续这样做的时候维护它们。

更多信息:http: //www.blog.montgomerie.net/yacyaml

于 2012-10-26T14:27:43.247 回答
1

如果您在 iPhone 项目中使用了很多c++,那么请查看yaml-cpp

http://code.google.com/p/yaml-cpp/

  1. 具有原生 iPhone 支持(通过它的 cmake 构建系统)
  2. 除了良好的编译器和 cmake 之外,没有任何依赖项
  3. 非常 C++ 友好(因此,名称)具有可靠的文档(请参阅 wiki/HowToParseADocument 页面)
于 2010-03-05T21:22:07.740 回答
0

我从YAML 的首页找到了这个。但它看起来可能已经过时了(c. 2004?),而且 CVS 链接对我不起作用。

我敢打赌,它只是像这样这样的底层 C 库的一个薄包装器...... C 代码是 Objective-C 编译器将理解的“本机”代码。

于 2009-12-15T19:06:42.643 回答
-1

我发现这个问题正在寻找 YAML + 目标 C 选项。我最终使用了这个解决方案:https ://github.com/icanzilb/JSONModel 。非常酷,最新且易于使用。将 yaml 直接解析为您创建的继承 JSONModel 类的目标 C 模型。

于 2014-05-28T15:06:45.563 回答