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
希望对您有所帮助!
我是 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
希望对您有所帮助!