2016-08-08 129 views
3
文本視圖顯示JSON數據

我得到響應從服務器這樣在斯威夫特

[{ 

    "images":[{ 
     "title_de":"sdfs", 
     "title_it":"dsdfs", 
     "title_fr":"dfsf", 
     "approved":"true", 
     "title_ru":"sdsf", 
     "title_ko":"sdfs", 
     "title_jp":"sfsdf", 
     "title_es":"sdfs", 
     "title_pt":"dfs", 
     "folder_id":29, 
     "title_en":"title image", 
     "title_hi":"sdfss", 
     "image_used_count":"0", 
     "updatedtime":"1470641760", 
     "folder_empty":"false", 
     "id":115, 
     "is_folder":"false" 
    }, 

    { 
     "title_de":"tests Ashdod", 
     "title_it":"test cv", 
     "title_fr":"tests Asgard", 
     "approved":"true", 
     "title_ru":"testvxcv", 
     "title_ko":"testvcxv", 
     "title_jp":"tests cv", 
     "title_es":"testvcxv", 
     "title_pt":"test cox", 
     "folder_id":19, 
     "title_en":"testsds", 
     "title_hi":"testvxcv", 
     "image_used_count":"0", 
     "updatedtime":"1470401264", 
     "folder_empty":"false", 
     "id":99, 
     "is_folder":"false" 
    }] 
}] 

現在我想顯示在文本視圖這種反應,因爲它是和這裏是我的代碼

self.tv_response.text = String(format:"%@", JSON as! String) 

但收到的錯誤

無法投類型的值 '__NSCFArray'(0x1025a8ae0)到 '的NSString'(0x101c13b20)。

我也嘗試

self.tv_response.text = NSString(format:"%@", JSON as! String) 

但不工作,請幫我...

+1

從響應你想要什麼TextView中顯示? –

+0

我想顯示總回覆。意味着全數組 –

回答

3

你的反應是array所以你不能直接將其轉換爲string

self.tv_response.text = "\(JSON as! NSArray)" 

self.tv_response.text = "\(JSON as! [[String: AnyObject]])" 
+1

你不應該在Swift中使用'String(format:)'。更好的方法是'self.tv_response.text =「\(JSON as!NSArray)」' – kabiroberai

+0

是的它的工作謝謝你的幫助:) –

+0

@kabiroberai好吧現在:) –

1

你不應該使用在斯威夫特String(format:_:)反正。更好的方法是self.tv_response.text = "\(JSON)"。這使用字符串插值,它可以讓您方便地創建任何類型的值的字符串。

但是,如果您必須String(format:_:)一起使用,您可以執行以下操作:self.tv_response.text = String(format:"%@", JSON)

-2
NSString(format:"%@", JSON as! String) 

這裏JSON文件不是String文件它是一個Array。 你解開它(!)。因此,使用

String(format:"%@", JSON) 

否則

self.tv_response.text = "\(JSON)" 
+0

請不要直接複製他人的答案 – kabiroberai

+0

@kabiroberai我不是一個愚蠢的做到這一點。我的意思是不要用字符串打開數組。首先我沒有看到你的答案。我剛剛爲這個問題寫了一個迴應。您可能會直接複製他人的答案並在任何地方發帖。不要評判他人。你讀過我的回答了嗎?我試圖告訴他不要直接使用(!),這不是一個好的做法,要麼使用「如果讓」或「警衛」,並停止像未成熟的行爲。 Stackover流程是一個平臺,可幫助所有開發人員將這種行爲保持在社交媒體中的某個位置。學會尊重每個人,謝謝 – DSAjit