是否有适用于iPhone的原生YAML库?

时间:2009-12-15 18:51:24

标签: iphone objective-c yaml

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

YAML mentions one的维基百科页面,但链接已经死亡。

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

7 个答案:

答案 0 :(得分:6)

The Cocoa extensions for Syck可能就是你正在寻找的东西 - 这就是Shaggy Frog所提到的图书馆似乎生活的地方。

答案 1 :(得分:6)

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

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

答案 2 :(得分: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];

答案 3 :(得分:3)

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

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

答案 4 :(得分:1)

IF 您在iPhone项目中做了很多 c ++ ,请查看<强> YAML-CPP

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

  1. 拥有本机iPhone支持(通过它的cmake构建系统)
  2. 除了良好的编译器和cmake
  3. 之外没有依赖关系
  4. 非常c ++友好(因此,名称)具有可靠的文档(请参阅wiki / HowToParseADocument页面)

答案 5 :(得分:0)

我从this找到了YAML's front page。但它看起来可能已经过时了(c.2004?),而CVS链接对我来说不起作用。

我敢打赌,它只是一个基础C库的瘦包装,如thisthis ... C代码是Objective-C编译器将要查看的“本机”代码。

答案 6 :(得分:-1)

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