解析NSString以获取数据

时间:2010-09-01 23:10:03

标签: cocoa parsing nsstring

我有这段代码......

NSData* myData = producedData;
NSLog(@"Contents of myData: %@", myData);

日志打印

{     “id”=“”;     “level”=“level_1”;     “处理”=测试; }

如何获取id和level的值并处理掉?原始数据是NSString *。

谢谢!

2 个答案:

答案 0 :(得分:0)

是JSON吗?使用Stig Brautaset的JSON解析器http://code.google.com/p/json-framework/

答案 1 :(得分:0)

您没有显示实际获取数据对象的代码,也没有显示与NSString相关的任何代码。

您只是在为producedData变量分配字符串(myData)吗?那不会创建数据对象;首先,它不知道用什么编码将字符串的字符编码为字节,更重要的是,将指针从一个变量复制到另一个变量(这是myData = producedData所做的 - 变量不包含对象本身,只指向它们的指针)不会改变指针所指向的内容。即使您告诉编译器myData指向数据对象,该对象仍将是一个字符串。编译器应该警告你这件事;你应该注意并解决这些警告。

myData绝对不是数据对象;如果是的话,它对自身的描述将是一个十六进制转储。它可以是字符串也可以是字典。

您显示的输出与NSDictionary用于描述自身的语法相匹配。另一方面,对象可以是包含这种描述的字符串。 (后一种情况是你所期待的。)

如果你有一本字典:你已经完成了!该对象已经被解析 如果你有一个字符串:发送一条propertyList消息,它会将字符串解析为属性列表并返回其中表示的任何值,在这种情况下,它将是一个字典。