2016-08-02 94 views
9

爲什麼文本字段的值被截斷,我怎樣才能得到完整的價值。 截至目前,我試圖得到類似下面Twitter的API文本字段值將被截斷

do { 
     if let responseObject = try NSJSONSerialization.JSONObjectWithData(response, options: []) as? [String:AnyObject], 
      arrayStatuses = responseObject["statuses"] as? [[String:AnyObject]] { 
       let arrTweets:NSMutableArray = NSMutableArray() 
       for status in arrayStatuses { 
        let text = status["text"]! 
        print(status["text"]!) 
       } 
     } 
} 

輸出文本字段值

RT @WarfareWW:#俄羅斯/印度#可從蘇-30MKI持有布拉莫斯巡航導彈的發射VS在今年的https年底海/ GRND trgts:// ...在一行的末尾

三個點。我需要打印完整的測試而不會截斷。

Twitter的樣本搜索結果JSON數據

{ 
     "created_at": "Mon Aug 01 08:07:43 +0000 2016", 
     "id": 760024194079916032, 
     "id_str": "760024194079916032", 
     "text": "RT @khalidasopore: #KEXIT #KASHEXIT #KashmirKillings #Inida #Pakistan Just trend it my dear Indians to save #Kashmir from Pak Goons https:/…", 
     "truncated": false 
} 
+0

你能證明我們,你得到正確的字符串作爲迴應,顯示請求響應在網絡或東西 –

+0

UILabel's將截斷文本,如果他們是一個固定的高度和寬度,你可能還需要設置標籤.nu​​mberOfLines = 0' - 否則,在@ Lu_的評論之後,您可以提供一個json示例。 – Wez

+0

它不只是一個UILabel的問題,甚至打印()不會截斷字符串 –

回答

14

Twitter的API最近已更改,以支持有關的280個字符的限制的新規則。

  1. 爲了讓鳴叫的全文,以價值extended你的請求參數添加參數tweet_mode。在JSON響應
  2. text已取代full_text

此處瞭解詳情:https://dev.twitter.com/overview/api/upcoming-changes-to-tweets

+1

在Java星火流應用的問題,在這裏我將設置'tweet_mode'參數?我有一個'FilterQuery',它可以與偵聽器一起工作。 @Ely – sirdan

0

本例中的地位是轉推,以及轉推的文字仍會被截斷爲140個字符包括tweet_mode=extended。原始推文的全文位於JSON響應的retweeted_status字段中。這裏有你想要什麼:

let text = status["retweeted_status"]["full_text"]

請記住,你仍然應該包括在您的要求tweet_mode=extended