JSON 为 ROKU 应用程序使用 Brightscript 进行解析

JSON Parsing using Brightscript for ROKU app

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

基于 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

希望对您有所帮助!