使用Brightscript进行ROKU应用的JSON解析

时间:2019-07-17 10:38:32

标签: roku brightscript

我是Roku App开发的新手。我需要解析从api调用收到的json。谁能建议我任何示例链接,因为我在Roku博客上没有得到Json解析示例。

1 个答案:

答案 0 :(得分:1)

基于Roku文档

假设您有这样的API响应:

{
      "photos" : [
           {  
                 "title" : "View from the hotel",
                 "url" : "http://example.com/images/00012.jpg" 
           },
           { 
                 "title" : "Relaxing at the beach",
                 "url" : "http://example.com/images/00222.jpg" 
           },
           { 
                 "title" : "Flat tire",
                 "url" : "http://example.com/images/00314.jpg" 
           }
      ]
}

然后,与响应交互如下:

searchRequest = CreateObject("roUrlTransfer")
searchRequest.SetURL("http://api.example.com/services/rest/getPhotos")
response = ParseJson(searchRequest.GetToString())
For Each photo In response.photos
    GetImage(photo.title, photo.url)
End For

您可以查看更多详细信息here

请注意,您需要设置一些证书才能发出请求here

了解整个功能很重要,但是,您可以使用一些库来减轻请求的痛苦。通常,您最终会创建自己的包装器。

我不是这个repo的所有者,我已经在几个项目中看到了这个NewHttp函数。

如果要使用该包装,可以按以下步骤进行:

m.http = NewHttp(url,invalid,"GET")
m.http.AddHeader("X-Roku-Reserved-Dev-Id", "")
response = m.http.GetToStringWithTimeout(10)  

if m.http.GetResponseCode() <> 200 then
    print "Error while trying to get the response, ResponseCode:", m.http.GetResponseCode()
else 'the Response Code was 200(OK)'
   response = ParseJson(rsp)
end if

希望这会有所帮助!