ios数组到字典或数组

时间:2011-08-31 12:08:49

标签: ios arrays json dictionary

我得到了我的应用程序[Twitter Web服务]的JSON响应,是一个字符串,但是例如索引0处的对象是:

es array en:0, tiene {
contributors = "<null>";
coordinates = "<null>";
"created_at" = "Thu Aug 04 23:26:05 +0000 2011";
favorited = 0;
geo = "<null>";
id = 99259843982016513;
"id_str" = 99259843982016513;
"in_reply_to_screen_name" = "<null>";
"in_reply_to_status_id" = "<null>";
"in_reply_to_status_id_str" = "<null>";
"in_reply_to_user_id" = "<null>";
"in_reply_to_user_id_str" = "<null>";
place = "<null>";
"possibly_sensitive" = 0;
"retweet_count" = 0;
retweeted = 0;
source = "<a href=\"http://twitter.com/tweetbutton\" rel=\"nofollow\">Tweet Button</a>";
text = "Stack Exchange Q&A site proposal: Freelance Workers http://t.co/yaW1RHp";
truncated = 0;
user =     {
    "contributors_enabled" = 0;
    "created_at" = "Mon Jul 13 19:39:31 +0000 2009";
    "default_profile" = 0;
    "default_profile_image" = 0;
    description = "My goal is to enable the brain computer interfaces to use the possibilities of mobile platforms for robotics and physical computing";
    "favourites_count" = 0;
    "follow_request_sent" = "<null>";
    "followers_count" = 92; ...

所以我的数组有17个对象[对于每个twitt],那么如何将这些对象分解为更多的数组或字典呢?

我特别想要文本键

text = "Apple vs Samsung tablets [haha and Samsung is an Apple hardware provider!!]\nhttp://t.co/rvv43Hy";

非常感谢

3 个答案:

答案 0 :(得分:3)

可能已经为此构建了解析器,但如果没有,我认为您会发现以下方法有用。

NSArray *strings = [input componentsSeparatedByString:@";"];

它返回一个字符串数组(在这种情况下)“;”作为分隔符。

  

{contributors =“”,coordinates =“”,...}

你可以将它们进一步分开:

NSDictionary *dict = [NSDictionary dictionary];
for (NSString *s in strings)
{
    NSArray *keyValue = [s componentsSeparatedByString:@"="];
    NSString *key = [keyValue objectAtIndex:0];
    NSString *value = [keyValue objectAtIndex:1];
    [dict setValue:value forKey:key];
}

在响应开始时似乎有一些额外的数据,你可能不得不首先关闭它。

答案 1 :(得分:2)

例如,您将从外部字典中提取“user”对象并将其分配给NSDictionary变量。然后你可以从第二个字典中提取“default_profile”。

人们可能会编写一个简单的“路径导航器”工具,它可以通过“路径表示法”访问单个实体,而无需显式提取组件,但我不知道“罐头”。

答案 2 :(得分:1)

以防其他人正在寻找这个,我最终使用了

Stig Brautaset的开源JSON框架。 用它的解析器, 并遵循一些说明f rom here