Arrays ROKU:具有多个值的关联数组

Arrays ROKU:具有多个值的关联数组,arrays,roku,brightscript,Arrays,Roku,Brightscript,我有一个两部分的问题,我希望有人能帮助我 我正试图弄清楚如何将一系列的年份从我的服务器传递到我的ROKU代码。这将是一个可变的年数,这意味着数组中的元素数量并不总是相同的 我需要弄清楚的是如何设置数组,然后如何在BrightScript中解析它 这是我到目前为止的一个例子。我有了计数,但还需要加上所有的年份 年份列表为1998200320042005200620072000820092010201120122012014 一旦它在我的ROKU代码中被接收,我将需要在这些年中循环,并显示它们,每行

我有一个两部分的问题,我希望有人能帮助我

我正试图弄清楚如何将一系列的年份从我的服务器传递到我的ROKU代码。这将是一个可变的年数,这意味着数组中的元素数量并不总是相同的

我需要弄清楚的是如何设置数组,然后如何在BrightScript中解析它

这是我到目前为止的一个例子。我有了计数,但还需要加上所有的年份

年份列表为1998200320042005200620072000820092010201120122012014

一旦它在我的ROKU代码中被接收,我将需要在这些年中循环,并显示它们,每行一个。我已经完成了显示部分。我只需要知道如何获取数组元素的帮助


由于关于BrightScript阵列的有用文档太少,我希望有更多经验的人能够回答这个问题,并且它将在将来帮助其他人。

以下是我解决这个问题的方法:

数组:

{ 
 "Items" : [ 
     { "value": "2014" } , 
     { "value": "2013" } , 
     { "value": "2012" } , 
     { "value": "2011" } , 
     { "value": "2010" } , 
     { "value": "2009" } , 
     { "value": "2008" } , 
     { "value": "2007" } , 
     { "value": "2006" } , 
     { "value": "2005" } , 
     { "value": "2004" } , 
     { "value": "2003" } , 
     { "value": "1998" } 
   ]
} 
用于分析它的脚本代码:

    arr = CreateObject("roArray",json.Items.count(),false)

    for each item in json.Items
       thisItem = {
        value: item.value         
       }
       arr.push(thisItem)
    end for
    return arr
BrightScript Debugger> myJSON = "[1998,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014]" 
BrightScript Debugger> ? type(myJSON)
String

BrightScript Debugger> arr = parseJSON(myJSON)
BrightScript Debugger> ? type(arr)
roArray

我希望这对将来的其他人有所帮助。

以下是我解决问题的方法:

数组:

{ 
 "Items" : [ 
     { "value": "2014" } , 
     { "value": "2013" } , 
     { "value": "2012" } , 
     { "value": "2011" } , 
     { "value": "2010" } , 
     { "value": "2009" } , 
     { "value": "2008" } , 
     { "value": "2007" } , 
     { "value": "2006" } , 
     { "value": "2005" } , 
     { "value": "2004" } , 
     { "value": "2003" } , 
     { "value": "1998" } 
   ]
} 
用于分析它的脚本代码:

    arr = CreateObject("roArray",json.Items.count(),false)

    for each item in json.Items
       thisItem = {
        value: item.value         
       }
       arr.push(thisItem)
    end for
    return arr
BrightScript Debugger> myJSON = "[1998,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014]" 
BrightScript Debugger> ? type(myJSON)
String

BrightScript Debugger> arr = parseJSON(myJSON)
BrightScript Debugger> ? type(arr)
roArray

我希望这对将来的其他人有所帮助。

你不需要做任何事情。只需发送JSON数组,Roku就会解析它:

    arr = CreateObject("roArray",json.Items.count(),false)

    for each item in json.Items
       thisItem = {
        value: item.value         
       }
       arr.push(thisItem)
    end for
    return arr
BrightScript Debugger> myJSON = "[1998,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014]" 
BrightScript Debugger> ? type(myJSON)
String

BrightScript Debugger> arr = parseJSON(myJSON)
BrightScript Debugger> ? type(arr)
roArray
将数组作为json文本的顶级元素非常有效。json文本是一个序列化的对象或数组。每也可以使用虚拟对象执行此操作,但原因是:
arr=parseJSON{years:[1998,2003]}。years

你不需要做这些。只需发送JSON数组,Roku就会解析它:

    arr = CreateObject("roArray",json.Items.count(),false)

    for each item in json.Items
       thisItem = {
        value: item.value         
       }
       arr.push(thisItem)
    end for
    return arr
BrightScript Debugger> myJSON = "[1998,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014]" 
BrightScript Debugger> ? type(myJSON)
String

BrightScript Debugger> arr = parseJSON(myJSON)
BrightScript Debugger> ? type(arr)
roArray
将数组作为json文本的顶级元素非常有效。json文本是一个序列化的对象或数组。每也可以使用虚拟对象执行此操作,但原因是:
arr=parseJSON{years:[1998,2003]}。years

您在Roku上尝试过使用parseJSON吗?您在Roku上尝试过使用parseJSON吗?谢谢。我知道必须有一个更简单的方法。我只是需要有人给我看看谢谢你。我知道必须有一个更简单的方法。我只是需要有人给我看看o