2017-02-10 95 views
1

在Bluemix上使用Alchemy News服务的IBM Watson iOS SDK返回一个字符串结果,它需要解析来拉出url和清理标题等字段。裁判:https://github.com/watson-developer-cloud/swift-sdkIBM Watson Alchemy新闻iOS SDK Swift

我拉串入一个数组,并使用一些字符串方法解析它在swift3但是这是很普通的,并且能够产生不可预知的结果

是否有更好的方法,我可以访问特定的领域,就像我传递给UITableViewCell的URL和清理过的标题一样,选择并延续到url链接。

sample code: 
let alchemyDataNews = AlchemyDataNews(apiKey: apiKey) 
let failure = { (error: Error) in print(error) } 
let start = "now-14d" // 7 day ago 
let end = "now" // today 
let query = ["count": "15", 
          "dedup": "true", 
          "q.enriched.url.title": "[IBM]", 
          "return": "enriched.url.url,enriched.url.title" "enriched.url.title,enriched.url.entities.entity.text,enriched.url.entities.entity.type"] 

此外,我注意到搜索字符串[IBM]的前缀为0,即0 [IBM],并且还看到了“A”。这些前缀是什么意思和他们在哪里记录

回答

2

这里有一种方法可以从返回的有效载荷访问字段。

alchemyDataNews.getNews(from: "now-4d", to: "now", query: queryDict, failure: failWithError) { news in 

     for doc in (news.result?.docs)! { 
      var cleanedTitle = doc.source?.enriched?.url?.cleanedTitle 
      var author = doc.source?.enriched?.url?.author 
      var title = doc.source?.enriched?.url?.title 
     }} 

另外,这里是炼金术数据包含所有请求参数和过滤器的一个很好的API参考链路。

https://www.ibm.com/watson/developercloud/alchemydata-news/api/v1/

+0

谢谢文斯,那正是我所希望的。我查看过这个文档,但没有找到使用正确参数和过滤器的Swift语法。也许我错过了,但现在你已经提供了这个例子,我可以很容易地使用所有的参数和过滤器。如果这个Swift语法是任何地方的文档,我会欣赏链接 – jeff