0

を使用してツイートの最初の URL を取り込もうとして-objectForKey:いますが、展開された URL を一度に取り込める方法を知りたいと思っていました。

これがjsonです:

"entities":{
      "hashtags":[

      ],
      "symbols":[

      ],
      "urls":[
         {
            "url":"http:\/\/t.co\/example",
            "expanded_url":"http:\/\/example.com\/hi",
            "display_url":"example.com\/hi",
            "indices":[
               46,
               68
            ]
         }
      ],
      "user_mentions":[

      ]
   },

これは私が試したことです:NSLog(@"URL FOUND: %@", [JSON objectForKey:@"entities/urls/expanded_url"]); しかし、私は ( null) を得ました。

4

2 に答える 2

0
"urls":[
     {
        "url":"http:\/\/t.co\/example",
        "expanded_url":"http:\/\/example.com\/hi",
        "display_url":"example.com\/hi",
        "indices":[
           46,
           68
        ]
     }
  ],

ここで、の値urlsは配列なので、次のようなパスを使用する必要がありますentities/urls[0]/expanded_url

アップデート:

どの JSON デコード ライブラリを使用しているかわかりません。

例として、有名なJSONKit( https://github.com/johnezang/JSONKit ) を取り上げます。

NSString *str = @"{\"entities\":{\"urls\":[{\"url\":\"http://t.co/example\"}]}}";
NSDictionary *dict = [str objectFromJSONString];
NSLog(@"URL: %@",dict[@"entities"][@"urls"][0][@"url"]);
于 2013-12-28T04:19:11.467 に答える